博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
servlet转发_处理异常_路径问题
阅读量:4305 次
发布时间:2019-05-27

本文共 1301 字,大约阅读时间需要 4 分钟。

servlet转发_处理异常_路径问题

1.转发

  (1)什么是转发

     一个web组件(servlet/jsp)将未完成的处理转交给另外一个web组件继续做。

     比较常见的情况是一个servlet将处理结果转交给一个jsp来展现。

   注:

      web组件指的是jsp或者servlet

  (2)如何转发

     step1, 绑订数据到request。

        //name:绑定名,obj:绑定值

        request.setAttribute(String name,Object obj);

     step2,获得转发器

        //uri:要转发给哪一个web组件

        RequestDispatcher rd = equest.getRequestDispatcher(String uri);

     step3,转发

         rd.forward(request,response);

     step4,在转发的目的地,可以使用request.getAttribute方法获得绑定的数据,然后进行处理。

         //如果name对应的值不存在,会返回null

         Object request.getAttribute(String name);

  (3)特点

     a.转发之后,浏览器地址栏的地址不变。

     b.转发的目的地必须是同一个应用。

  (4)注意事项

     a,转发之前,先清空response对象中的缓冲数据。

     b,转发之前,不能够调用out.close().

2.处理servlet运行时产生的异常

  (1)转发到一个异常处理页面

     step1,绑订异常提示信息到request

     step2,转发到一个异常处理页面

     step3,编写异常处理页面

  (2)交给容器来处理

     step1,将异常抛出,比如

         throw new ServletException(e)

     step2,编写异常处理页面

         eg:error2.jsp

        通常,系统异常交给容器来处理比较方便,应用异常一般使用转发来处理。

     step3,配置异常处理页面(让容器知道,当捕获到相应异常后,应该调用哪一个页面)

        <error-page>

           <exception-type>javax.servlet.ServletException</exception-type>

           <location>/error2.jsp</location>

        </error-page>

3.路径问题

  链接,表单提交,重定向,转发

  <a href="del.do"></a>

  <form action="add.do">

  response.sendRedirect("list.do")

  request.getRequestDispatcher("listEmp.jsp")

  (1)相对路径

     不以"/"开头的路径

  (2)绝对路径

     以"/"开头的路径

  (3)如何写绝对路径

     链接,表单提交,重定向的绝对路径从应用名开始写,转发的绝对路径从应用名之后开始写。
   注:

       不要将应用名直接写在路径里面,而应该使用下面的方法来获得实际部署时的应用名。

          //获得应用名“/??”  --获得部署时的应用名

         String request.getContextPath();

转载地址:http://ewrws.baihongyu.com/

你可能感兴趣的文章
spring 中的scope=“prototype” 和scope=“singleton” 区别
查看>>
ptrace
查看>>
LEETCODE
查看>>
GCC内嵌汇编
查看>>
文件过滤器 filter
查看>>
Remove Duplicates from Sorted List
查看>>
Android 改变窗口标题栏的布局
查看>>
[转载]简单易学的机器学习算法-决策树之ID3算的
查看>>
【leetcode】Sqrt(x)
查看>>
结对开发-求环状二维数组最大子数组
查看>>
[Nowcoder] 整数分解的最大乘积
查看>>
彩色建模(四色原型) Object Modeling in Color学习心得
查看>>
WikiPedia技术架构学习笔记
查看>>
JavaScript中this的一些坑
查看>>
堆和栈
查看>>
MySQL创建数据库和数据库表及检索数据
查看>>
洛谷 P4175: bzoj 1146: [CTSC2008]网络管理
查看>>
teamviewer13报错
查看>>
switf kvc 构造函数时
查看>>
vector释放内存之swap方法
查看>>