`

Servlet RequestDispatcher 路径问题

阅读更多

7. RequestDispatcher.forward(req, resp);    vs.   HttpServletResponse.sendRedirect("url");
   请求分发器 rd.forward(req, resp); 只能访问内部资源。浏览器地址不变。针对同一个请求。
      可获取表单传递过来的信息req.getParameter("name");
      应用内部数据共享的方式  req.getAttribute("name");
   复位向 resp.sendRedirect("url"); 可以跨网站访问资源。浏览器地址会改变。变成另外的一个请求。

8. 相对路径 与 绝对路径
   1)形式:
     绝对路径:以/开头的路径
     相对路径:不是以/开头的路径
   2)绝对路径:
     运行在客户端时:请求的参考点是站点(站台)本身;即是 http://localhost:8080/
        如: <form action="/WebTest/login" ...> ...
            路径等于 http://localhost:8080/WebTest/login
     运行在服务器时:请求相对于应用的根 http://localhost:8080/工程/
        web.xml, servlet, jsp... 这些都是运行在服务器端
        如:RequestDispatcher rd = request.getRequestDispatcher(url); //相对路径,也可以绝对路径
           RequestDispatcher rd = servletcontext.getRequestDispatcher(url); //只能绝对路径
   3)相对路径:
     运行在客户端时:请求的参考点是应用的当前路径;即是页面所在的目录 http://localhost:8080/工程/页面所在目录/
        主要用在两处:
        一是表单中的 action="..."  如: <form action="login" ...> ...
            路径等于 http://localhost:8080/工程/页面当前目录/login
        二是在复位向中用 resp.SendRedirect("logon/er.html");
            路径等于 http://localhost:8080/工程/页面当前目录/logon/er.html
     运行在服务器时:都是相对于应用的当前路径;可认为是直接在当前url后面加上相对路径
        如: rd.forward("target");

9. 范围对象   context > session > request > config
   对比HttpSession、HttpServletRequest、ServletContext、ServletConfig的作用范围
   1)ServletConfig:在一个Servlet实例化后,就创建了一个ServletConfig对象。
     主要用来读取web.xml中配置的Servlet初始信息,不能被其它Servlet共享。
     作用范围:处于同一个Servlet中,均起作用。
   2)HttpServletRequest:这是由Web容器对客户Http请求数据封装而成的对象,可通过它获得所有跟客户请求相关的信息。
     比如Http请求方法(Get or Post)。 注意:request是可以跨Servlet的。
     作用范围:只要处于同一个请求中,均起作用。
   3)HttpSession: 当浏览器与Servlet容器建立一个Http会话时,容器就会通过此接口自动产生一个HttpSession对象。
     作用范围:处于同一个会话中,均起作用。(用JsessionId标识同一个会话)
   4)ServletContext:对同一个Web应用中的任何Servlet,在任何时候都有效,是一个全局的对象。
     作用范围:处于同一个Web应用中,均起作用。(不同的session和请求都可用)   

分享到:
评论

相关推荐

    Servlet中的相对路径和绝对路径归纳

    Servlet 中的相对路径和绝对路径归纳 在 Servlet 编程中,路径是非常重要的一个概念。路径可以分为相对路径和绝对路径两种,在不同的场景下,选择合适的路径类型非常重要。本文将对 Servlet 中的相对路径和绝对路径...

    servlet路径问题

    Servlet路径问题在Web开发中是常见的,特别是在使用Java Servlet技术时。Servlet路径涉及到表单提交、请求转发、URL映射以及资源访问等多个方面。以下是对这些知识点的详细解释: 1. **表单提交路径**: - 在HTML...

    javaweb中路径问题

    ### JavaWeb中的路径问题解析 在JavaWeb开发中,路径问题常常困扰着许多开发者,特别是对于初学者来说,理解各种路径及其应用场景尤为重要。本文将基于给出的信息,详细解析JavaWeb项目中涉及到的各种路径问题,...

    servlet代码+说明文档

    本资料包"Servlet代码+说明文档"提供了一个从基础到深入的学习路径,旨在帮助初学者全面掌握Servlet技术。 首先,Servlet是Java Servlet API的实现,它定义了服务器端程序如何与Web客户端交互。在Java中,Servlet是...

    java web servlet实例

    这将创建一个名为`MyServlet`的Servlet,对应于URL路径`/myservlet`。 3. **Servlet类** 一个Servlet类需要继承`javax.servlet.http.HttpServlet`基类,并覆盖`doGet()`和`doPost()`等方法来处理HTTP请求。例如:...

    韩顺平servlet笔记.rar下载

    5. **Servlet配置**:在web.xml文件中,可以通过`&lt;servlet&gt;`、`&lt;servlet-mapping&gt;`元素定义Servlet及其映射路径。例如,通过`&lt;url-pattern&gt;`指定Servlet处理哪些URL请求。 6. **注解驱动**:从Java EE 5开始,...

    基于servlet 的考勤管理系统

    2. **Servlet配置**:在`web.xml`部署描述符文件中,我们通常会看到Servlet的配置信息,包括Servlet的类名、映射路径等。在本系统中,可能定义了处理特定请求的Servlet映射。 3. **HTTP请求与响应**:Servlet通过`...

    Servlet2.4 api 帮助文档

    在web.xml文件中,开发者可以配置Servlet的映射路径、初始化参数、加载顺序等。例如,通过`&lt;servlet&gt;`、`&lt;servlet-mapping&gt;`标签定义Servlet及其关联的URL模式。 五、过滤器(Filter) Servlet 2.4引入了过滤器...

    servletapi.rar_servlet api-chm_servlet chm_servlet*.chm_servlet.

    9. **多线程模型**: Servlet容器默认为每个请求创建一个新的线程,因此Servlet需要处理线程安全问题。 10. **异步处理**: Servlet 3.0引入了异步处理,允许Servlet在处理请求时释放线程,提高服务器性能。 11. **...

    servlet api

    在web.xml文件中,开发者可以配置Servlet,包括定义Servlet的类名、映射URL路径、设置初始化参数等。例如: ```xml &lt;servlet&gt; &lt;servlet-name&gt;MyServlet&lt;/servlet-name&gt; &lt;servlet-class&gt;com.example.MyServlet&lt;/...

    Java_Servlet教程(繁体)

    在Servlet中,可以使用RequestDispatcher的forward()方法将请求转发到另一个资源,或者使用Response.sendRedirect()方法进行重定向。转发在服务器端完成,而重定向则是在客户端完成。 六、Servlet过滤器 除了...

    韩顺平servlet 第4、5讲 事例代码

    2. **Servlet配置**:通过`web.xml`部署描述符文件,可以配置Servlet的映射路径、初始化参数、加载顺序等。学员可能会学习如何编写和理解`&lt;servlet&gt;`和`&lt;servlet-mapping&gt;`元素。 3. **HTTP请求与响应**:Servlet...

    关于servlet的jar包

    然而,在命令行或者非IDE环境下,需要手动将Servlet JAR包添加到项目的类路径(ClassPath)中,这样编译器和Java虚拟机才能找到并使用Servlet相关的类。 下载Servlet JAR包后,可以按照以下步骤将其添加到项目中: ...

    servlet-ppt java web相关servlet课件

    - 在`web.xml`部署描述符中配置Servlet,包括定义Servlet、映射URL路径等。 - `&lt;servlet&gt;`元素定义Servlet,`&lt;servlet-name&gt;`指定Servlet名称,`&lt;servlet-class&gt;`指定Servlet类全名。 - `&lt;servlet-mapping&gt;`元素...

    servlet 源码

    - 在传统的web.xml文件中,可以通过`&lt;servlet&gt;`、`&lt;servlet-mapping&gt;`等元素定义Servlet及其映射路径。 - 使用Java编程方式(@WebServlet注解)来声明Servlet,更简洁且无需修改XML配置。 4. **多线程模型**: -...

    韩顺平 servlet 全部源代码

    7. **web.xml配置**:学习如何配置Servlet的映射路径、初始化参数、过滤器和监听器,理解这些配置对Servlet应用的影响。 8. **MVC模式的应用**:可能包括简单的模型-视图-控制器设计模式,演示如何将业务逻辑、数据...

    Servlet 课件

    在这里,你可以指定Servlet的类名、URL路径、初始化参数等。随着Java EE的发展,现在的应用更多地采用注解式配置,如@WebServlet,使得配置更为简洁。 文件名称列表中的“Servlet”可能包含以下内容: 1. Servlet...

    servlet资料文件

    2. **部署描述符**:在Servlet应用中,`web.xml`是部署描述符,定义了Servlet的配置信息,如Servlet的映射路径、初始化参数等。例如,你可以通过`&lt;servlet&gt;`和`&lt;servlet-mapping&gt;`元素来注册Servlet。 3. **Servlet...

    Servlet

    - **`RequestDispatcher`**:用于在Servlet之间转发请求和响应,实现逻辑上的紧密耦合。 #### 九、Session管理 由于HTTP协议是无状态的,因此需要一种机制来维护用户的状态信息。Servlet API提供了一个名为`...

    servlet的项目练习.zip

    2. **Servlet配置**:在`web.xml`部署描述符文件中,我们定义Servlet的映射路径、类名以及初始化参数。例如: ```xml &lt;servlet&gt; &lt;servlet-name&gt;ShopServlet&lt;/servlet-name&gt; &lt;servlet-class&gt;...

Global site tag (gtag.js) - Google Analytics