当前位置:  技术问答>java相关

关于servlet异常处理

    来源: 互联网  发布时间:2015-10-16

    本文导语:  当servlet出现异常的时候,我需要重定向的但别的页面统一处理 我的代码如下 if ( error1 )   response.sendRedirect(url1); .... 可我发现出现异常error1的时候,代码还会继续往下面执行,按道理应该转到ur1去了,不会再回来. 我...

当servlet出现异常的时候,我需要重定向的但别的页面统一处理
我的代码如下

if ( error1 )
  response.sendRedirect(url1);
....


可我发现出现异常error1的时候,代码还会继续往下面执行,按道理应该转到ur1去了,不会再回来.
我也用了下面的方法处理,但也还是有同样的问题
  response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
  response.setHeader("Location", url1);

|
jsp中设个errorpage就可以了
servlet中用如下方法也可以安全导入errorpage:
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
import java.io.*;

public class ErrorpageDemo1 extends HttpServlet{
private ServletConfig config;
/**
* Init the servlet
*/
final public void init(ServletConfig config) throws ServletException {
this.config = config;
}

final public ServletConfig getServletConfig() {
return config;
}

    public void doGet(HttpServletRequest request,
      HttpServletResponse response) throws IOException, ServletException {

JspFactory jf = JspFactory.getDefaultFactory(); 
PageContext pageContext = jf.getPageContext(this, request, response, "/errorpage.jsp", true, 8192, true);
    JspWriter out = pageContext.getOut();
    HttpSession session = pageContext.getSession();

    try {
//your code here, below is a sample
    out.print("rnrnrntjsp error page demo rnrnrnrn jsp 1.0 error page demorn");

String s = "eee"; 
s.getBytes(); 
int i = Integer.parseInt(s);

     out.print("rnrnrn");

    } catch(Throwable t) {
        if(!(t instanceof Exception)) {
            t = new ServletException("JSP Page threw a non-Exception Throwable.",t);
        }
        //pageContext.handlePageException((Exception) t);
                pageContext.handlePageException(t);
      
    } finally { 
        jf.releasePageContext(pageContext);
    }

}
}

|
if ( error1 ){
  response.sendRedirect(url1);
  return;
}

在jsp中也是

|
第一种方法,加个return;
第二种方法,
if ( error1 )
{
  response.sendRedirect(url1);
}
else
{
....
}

    
 
 

您可能感兴趣的文章:

  • 得分套餐(32分):8。用TOMCAT时JSP表单提交信息给SERVLET处理时,“FORM ACTION=”后的SERVLET文件路径写什么?
  • 如何将servlet处理过的数据传送给jsp
  • 用jbuilder开发jsp的朋友进来帮给忙,是这样的:我想将表单信息提交到servlet程序处理,但我不知道怎样定位!
  • 如何使用JSP/SERVLET处理frameset的问题,难?
  • 想在一表单中有两个submit按钮,分别对表单做不同的处理,该表单的action为一Servlet,该怎么办?
  • 请教有关Servlet对中文的处理?本论坛提及的方法我都试过了,但不能彻底解决!
  • 急!!JSP提交到Servlet,Servlet的处理要一些时间,怎么插入一个loading页面?立即给分!!!
  • 哪位有用Servlet通过DOM处理Xml的例子?
  • 关于servlet中的dopost()的处理原理问题?
  • java中Servlet处理乱码的方法
  • 深入剖析JSP和Servlet对中文的处理
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.xml.ws.handler接口messagecontext成员方法: servlet_context定义参考
  • 请问各位大虾,我在编译SERVLET时,总是找不到javax.servlet.*或者javax.servlet.http.*,需要怎么配一下。
  • java命名空间javax.xml.ws.handler接口messagecontext成员方法: servlet_response定义参考
  • 关于servlet 的编译问题,怎样设置classpth,把那些java servlet类包含到classpath?而且无法调用servlet!谢谢!
  • java命名空间javax.xml.ws.handler接口messagecontext成员方法: servlet_request定义参考
  • 写了一个servlet程序,但用javac编译时,发现javax.servlet.*,javax.servlet.http.*不存在,为什么?怎样解决?
  • java Servlet获取和设置cookie实例代码
  • 为什么我在jsp页面用 "/servlet/goto.servlet?setname=中文",如果就这样传过去,在servlet里面得到的将是setname=null,如果传其他则可
  • java Servlet实现Session创建存取以及url重写代码示例
  • 我想apple传object给servlet同时也打开servlet页,显示servlet的内容
  • import javax.servlet.http.*;后,怎么提示package javax.servlet.http does not exist?我的classpath中已添加了tomcat/lib/servlet.jar!
  • 请问为什么我的servlet程序,在编译时总是会出现包javax.servlert和包javax.servlet.http不存在的错误,我在环境变量classpath种已经登记了servlet.jar的位置了。如何解决?
  • 编译 servlet 时,老提示 .....javax.servlet 不存在,为何 ???
  • jsp/servlet配置的小问题,如何添加servlet包
  • 包 javax.servlet ,javax.servlet.http 不存在,原因?解决办法?谢了!
  • servlet快在哪里?(什么时候用servlet好?)
  • 当多个请求同一个servlet时,servlet的生命周期是怎样的?
  • 一个Servlet如何在调用另一个Servlet时将自身的HttpServletRequest传递进去?
  • 急等用,现给分!servlet和servlet之间的通讯如何实现,最好有源代码,谢谢
  • 遍了一个简单的servlet,编译时提示:package javax.servlet does not exist!
  • 谁能解释一下如何使用javax.servlet.Filter 和javax.servlet.FilterChain!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3