servlet实现登录页面如何指定404页面 或者 错误页面

求助。。JSP不能进行表单验证;跳转到servlet名为Login,出现404错误
[问题点数:40分,结帖人Scott1990]
本版专家分:5
结帖率 50%
CSDN今日推荐
本版专家分:7
本版专家分:7
本版专家分:45
本版专家分:260
本版专家分:6922
本版专家分:1716
本版专家分:0
本版专家分:388
本版专家分:388
本版专家分:2201
本版专家分:2201
本版专家分:131
本版专家分:15
本版专家分:388
本版专家分:2196
本版专家分:10
匿名用户不能发表回复!
其他相关推荐博客分类:
问题如下:
index.jsp页面:
&jsp:forward page="show.action"&&/jsp:forward&
在struts.xml配置如下:
&package name="struts2" extends="struts-dafult"&
&action name="show" class="action.ShowAction"&
&result name="showinfo"&/showinfo.jsp&/result&
&/package&
在运行时出现404错误(找不到 show.action )
问题原因:
struts2拦截器把forward这个请求拦截了。
修改web.xml文件
&filter-name&struts2&/filter-name&
&filter-class&
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
&/filter-class&
&filter-mapping&
&filter-name&struts2&/filter-name&
&url-pattern&/*&/url-pattern&
&/filter-mapping&
&filter-name&struts2&/filter-name&
&filter-class&
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
&/filter-class&
&filter-mapping&
&filter-name&struts2&/filter-name&
&url-pattern&/*&/url-pattern&
&dispatcher&REQUEST&/dispatcher&
&dispatcher&FORWARD&/dispatcher&
&/filter-mapping&
浏览: 257939 次
来自: 大连
讲得很清楚
[color=brown][/color][size=medi ...
谢谢LZ,坚持学习一手资料!绝不穿二手鞋,呵呵
感谢楼主。
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'一个servlet问题?运行之后,提示404错误,请问哪里错了??_百度知道
一个servlet问题?运行之后,提示404错误,请问哪里错了??
通过jsp页面提交表单到servlet中,处理完之后(将表单信息添加到数据库),跳转到显示信息页面,web.web配置如下:&servlet&&description&&/description&&display-name&addVendorServ...
通过jsp页面提交表单到servlet中,处理完之后(将表单信息添加到数据库),跳转到显示信息页面,web.web配置如下:&servlet&
&description&&/description&
&display-name&addVendorServlet&/display-name&
&servlet-name&addVendorServlet&/servlet-name&
&servlet-class&myservlet.addVendorServlet&/servlet-class&
&/servlet&
&servlet-mapping&
&servlet-name&addVendorServlet&/servlet-name&
&url-pattern&/myservlet/addVendorServlet&/url-pattern&
&/servlet-mapping&表单 action =&/myservlet/addVendorServlet& addVendorServlet.java代码:import java.io.IOEimport javax.servlet.ServletEimport javax.servlet.http.HttpSimport javax.servlet.http.HttpServletRimport javax.servlet.http.HttpServletRimport bean.Vimport dao.VendorDAO;public class addVendorServlet extends HttpServlet {
* 添加新的供应商;
* @author Administrator
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
System.out.println(&hello&);
String vname = request.getParameter(&gongying&);
String city =request.getParameter(&chengshi&);
String address = request.getParameter(&dizhi&);
String postcode = request.getParameter(&youbian&);
String phone = request.getParameter(&dianhua&);
String linkman = request.getParameter(&lianxiren&);
String status = request.getParameter(&status&);
Vendor vendor= new Vendor(vname,city,address,postcode,phone,linkman,status);
VendorDAO vendorDao = new VendorDAO();
boolean flag = vendorDao.addVendor(vendor);
request.setAttribute(&vname&,vname);
request.setAttribute(&city&,city);
request.setAttribute(&address&,address);
request.setAttribute(&postcode&,postcode);
request.setAttribute(&phone&,phone);
request.setAttribute(&linkman&,linkman);
request.setAttribute(&status&,status);
response.sendRedirect(&/getVendor.jsp&);
response.sendRedirect(&/um/404.html&);
}}显示页面getVendor.jsp
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
获赞数:23
我估计是表单 action =&/myservlet/addVendorServlet& 这个的问题,如果这个已经没问题Servlet已执行,就考虑一下
response.sendRedirect(&/getVendor.jsp&);
这些问题一般都是路径的问题 ,这是相对于你的目录的,你可以写成
response.sendRedirect(&/coe/getVendor.jsp&);
再不行的话可以Q我,
谢谢哈,已经解决了,我把 &url-pattern&/myservlet/addVendorServlet&/url-pattern&改为 &url-pattern&/addVendorServlet&/url-pattern&action =&/myservlet/addVendorServlet&改为action =&/mywork/addVendorServlet&mywork是工程名,这样就好了O(∩_∩)O
JavaMan歪歪
JavaMan歪歪
采纳数:135
获赞数:1896
额 这个应该是跳到你自己写的404页面了吧可能问题不在你贴出来的这里 vendorDao.addVendor添加记录返回的不是true
404 not found
未找到该网页,说明此网页已经在服务器被删除或被改名。在安全助手里添加黑名单,把这个网站的网址输入进去。不让他弹出。404是对NOT FOUND这种错误情况的一个编码,HTTP协议的错误信息在不同软件、不同的语言描述可能不同,但是其代码是统一的,以便浏览器能够正确识别和处理。
获赞数:30
添加失败,flag为false。至于为何失败,得贴代码
代码太长了,贴不完,能否加个QQ?(*^__^*)
liulong_123
liulong_123
采纳数:18
获赞数:21
404错误就是没有找到对应的action类,你看看你的action=“”,吧action=“addVendorServle”试试,看看行不行
2条折叠回答
为你推荐:
其他类似问题
您可能关注的内容
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。一.在Servlet中,有两种服务器端异常处理机制
1.声明试异常处理(declarative exception handling)
2.程序试异常处理(programmatic exception handling)
声明试异常处理
声明试异常处理是在web.xml文件中声明对各种异常的处理方法,这是通过&error-page&元素来声明的.
&error-page&
&error-code&or&exception-type&
&location&
其中&error-code&元素指定HTTP的错误代码,&exception-type&元素指定JAVA异常类的完整限定名.
&location&元素给出用于响应HTTP错误代码或者JAVA异常的资源的路径,该路径是相对于WEB应用程序根路径的位置.
&error-page&元素可以声明两种类型的错误处理:一是指定对HTTP错误代码的处理,二是指定对程序中产生的JAVA异常的处理.
二.HTTP错误代码的处理
在WEB.XML文件中对HTTP404错误指定相应的错误处理页面.
&error-page&
&error-code&404&/error-code&
&location&/FileNotFound.html&/location&//该路径为相对于WEB应用程序根路径的位置,必须以/开头.
&/error-page&
在上例中&error-code&元素指定了HTTP的错误代码,&location&子元素指定了响应HTTP404错误的页面路径.
三.JAVA异常的处理
利用&error-page&元素还可以声明对程序中产生的JAVA异常的处理,例如一个SERVLET从文件中读取配置信息,如果该文件不存在,就会抛出java.io.FileNotFoundException异常.例:
&error-page&
&exception-type&java.io.FileNotFoundException&/exception-type&
&location&/ExcepHandler&/location&
&/error-page&
在&error-page&元素中,&exception-type&子元素指定了JAVA异常类的名字,&location&子元素指定了对异常进行处理的servlet类,当然,也可以指定一个静态页面对异常进行响应.
声明试异常处理主要是在WEB.XML文件中声明对各种异常的处理方法,他的好处是开发人员在开发WEB应用程序时无须考虑什么时候会产生HTTP错误或抛出JAVA异常,这些都交给SERVLET容器进行处理,他的缺点是,必须针对可能出现的各种错误情况定义处理页面或SERVLET,否则某些HTTP错误或异常将无法处理.
程序试异常处理
程序异常处理就是在WEB程序中利用TRY-CATCH语句来捕获的异常,并对捕获的异常进行相应的处理.
一.使用RequestDispatcher来处理异常
利用RequestDispathcher将请求转发给其他的SERVLET进行处理,也可以将异常封装在一个请求中,然后利用RequestDispatcher转发给一个异常处理SERVLET进行统一的处理.
如果在一个WEB应用程序,有多个SERVLET可能抛出相同的异常,采用这种方式对异常进行处理,可以避免在多个SERVLET中编写同样的异常处理代码.
int c=a/b;
catch(ArithmeticException e){
req.setAttribute("javax.servlet.eror.exception",e);
req.setAttribute("javax.servlet.error.request_uri",req.getRequestURI());
RequestDispatcher rd=req.getRequestDispatcher("xxxxx");
rd.forward(req,resp);
我们将抛出异常的SERVLET的位置做为HttpServletRequest对象的属性保存到请求对象中,然后通过RequestDispatcher对象的forward()方法将请求转发给XXXX,而XXXXX可以从请求对象中取出异常对象和位置.
XXX.SERVLET:
Stringuri=(String)req.getAttribut("javax.servlet.error.request_uri")
Objectexcep=req.getAttribute("javax.servlet.error.exception")
通过上面这2句可以从某个抛出异常的SERVLET中取出异常对象和抛出异常的SERVLET的位置做为req.getAttribut的参数获取出来进行处理.
显示为:/xxx/xxx
//WEB应用/某SERVLET
java.lang.arithmeticException: /by zero //何种异常
声明试异常处理实现简单,直接在WEB.XML文件中进行配置就可以,可以处理HTTP错误代码和JAVA异常,缺点是异常处理很单一,针对每种异常都需要在WEB.XML文件中进行配置,由于抛出异常的异常被SERVLET容器处理并做出响应,无法得知是那段程序代码出现了问题.
程序试异常处理容易了解异常在代码中的位置,而且对于同一种异常,可以由不同的程序段抛出,并在catch语句中进行处理,还可以利用RequestDispatcher将不同的异常交给同一个servlet进行统一处理.缺点是无法处理HTTP错误,编码量大.
Servlet异常处理
程序不可避免的会出现错误,我们要对异常进行处理,同样的我们在Servlet中也可以对异常进行全局的处理。下面我就以最常见的异常为例,404和500,404表示客户端请求资源未找到,500表示服务器出错...
Servlet处理请求和响应
Servlet处理请求的流程:
1) 客户端在浏览器的地址栏中输入一个请求的URL,按回车后就向服务器端发起一个http request(由浏览器生成)。
2) 服务器端的Web ...
java web后台主动抛出404错误
我在服务器端有个需求,就是根据拿到的请求地址,判断是否合法,不合法的时候总不能服务器直接抛出错误,那样子就前端错误代码只会是500,我想不合法的抛出404资源不存在错误,所以用了以下方法
当在服务器...
在Eclipse中运行Web项目时显示404错误
为了一个404错误整整花了一个下午,网上的各种方法都尝试了然后还是没有用
最早可以运行,又不想重新搭建换环境就就从头改
错误解决方法:
检查server中的web.xml文件
HTTP Status 404 ,The requested resource is not available.
找不到你指定的类
我们在运行jsp,servlet程序时问...
Servlet运行原理及常见报错代码。
转载只为收集学习使用 侵删。
就是配置好xml,java写好,tomcathttp://127.0.0.1:8080能进,可是一加/demo2就404错误了 求解答...
博主在学习《Head First Servlets & JSP》时,访问Servlet出现404错误。但文件中只有一个Servlet,所以问题就出在web.xml中。(因为重新学习,所以只用了编辑器,...
没有更多推荐了,用eclipse,超链接 href=“”,转到servlet页面处理时遇到404错误。_百度知道
用eclipse,超链接 href=“”,转到servlet页面处理时遇到404错误。
我写了一个jsp页面,其中有句:&ahref=&BuyServlet?action=buy&id=&%=i%&&&购买&/a&要转到BuyServlet页面处理。但遇到404错误。我没有写web.xml的配置文件,好像老师说的用eclipse时,...
我写了一个jsp页面,其中有句:&a href=&BuyServlet?action=buy&id=&%=i%&&&购买&/a& 要转到BuyServlet页面 处理。但遇到404错误。我没有写web.xml的配置文件,好像老师说的用eclipse时,会自动配置的。但就是遇到这个错误,我改相对路径不对,改绝对路径还是不对,都是404错误。但我在另一个JSP页面用&%@ page contentType=&text/charset=gb2312&%&&jsp:forward page=&IndexServlet&/&这句,却可以转到IndexServlet,IndexServlet是我的另一个servlet。IndexServlet和BuyServlet是我在同一个包里建的,所以路径是一样的。这就是书上的实现购物车列子。是怎么回事啊?
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
采纳数:17
获赞数:31
看下web.xml里面配置的servlet是否是BuyServlet这个字段。另外你的路径先改为&a href=&BuyServlet&&购买&/a&试试,之后再添加后面所带的参数。如果还不可以就试试再jsp头部加上&%@ page isELIgnored=&false& %&试试
好像还是不行。我没有配置web.xml,我查看了里面的配置没有BuyServlet,也没有IndexServlet,但为啥这&jsp:forward page=&IndexServlet&/&却可以访问???我如果这样改哈,&jsp:forward page=&BuyServlet&/&,又报404错误,???BuyServlet和IndexServlet在同一路径下
采纳数:36
获赞数:56
擅长:暂未定制
web.xml里面与你的 名称不对应, 404表明找不到对应的路径,
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 简述servlet工作原理 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信