servlet中的三个请求传播有何区别?

使用servlet处理请求转发时,通常有三种方法。

  • 1.re("url");

  • 2.reque("url").include(request,response);

  • 3.reque("url").forward(request,response);

    • 1、 forward:是指转发,将当前request和response对象保存,交给指定的url处理。并没有表示页面的跳转,所以地址栏的地址不会发生改变。

    • 2、 redirect:是指重定向,包含两次浏览器请求,浏览器根据url请求一个新的页面,所有的业务处理都转到下一个页面,地址栏的地址会变发生改变。

    • 3、 include:意为包含,即包含url中的内容,进一步理解为,将url中的内容包含进当前的servlet当中来,并用当前servlet的request和respose来执行url中的内容处理业务.所以不会发生页面的跳转,地址栏地址不会发生改变。

    详述Session机制,session是什么?什么时候生成?在哪里?为什么需要?


    1. session是一次浏览器和服务器的交互的会话

    2. 每次我们访问一个页面,如果有开启session,就会自动生成一个session_id 来标注是这次会话的唯一ID,同时也会自动往cookie里写入一个名字为JSESSIONID的变量,它的值正是session_id,当这次会话没结束,再次访问的时候,服务器会去读取这个JSESSIONID的cookie是否有值有没过期,如果能够读取到,则继续用这个session_id,如果没有,就会新生成一个session_id,同时生成JSESSIONID这个cookie。

    3. 存储在服务器的内存中,也可以持久化到file

    4. http协议是无状态的,可以通过session记住当前用户

    WEB.xml文件常用的的配置


    1. <?xml version="1.0" encoding="UTF-8"?>

    2. <web-app xmlns:xsi=";

    3. xmlns=";

    4. xsi:schemaLocation=" /web-app_2_5.xsd"

    5. version="2.5">

    6. <display-name>Archetype Created Web Application</display-name>

    7. <!-- 解决post乱码 -->

    8. <filter>

    9. <filter-name>CharacterEncodingFilter</filter-name>

    10. <filter-class>org.;/filter-class>

    11. <init-param>

    12. <param-name>encoding</param-name>

    13. <param-value>utf-8</param-value>

    14. </init-param>

    15. </filter>

    16. <filter-mapping>

    17. <filter-name>CharacterEncodingFilter</filter-name>

    18. <url-pattern>/*</url-pattern>

    19. </filter-mapping>

    20. <!-- springmvc的前端控制器 -->

    21. <servlet>

    22. <servlet-name>e3-manager-web</servlet-name>

    23. <servlet-class>org.;/servlet-class>

    24. <!-- contextConfigLocation不是必须的, 如果不配置contextConfigLocation, springmvc的配置文件默认在:WEB-INF/servlet的name+"-; -->

    25. <init-param>

    26. <param-name>contextConfigLocation</param-name>

    27. <param-value>classpath:spring;/param-value>

    28. </init-param>

    29. <load-on-startup>1</load-on-startup>

    30. </servlet>

    31. <servlet-mapping>

    32. <servlet-name>e3-manager-web</servlet-name>

    33. <url-pattern>/</url-pattern>

    34. </servlet-mapping>

    35. </web-app>

    JavaWeb中四大域对象的作用范围


    • PageContext域:作用范围是整个JSP页面,是四大作用域中最小的一个;生命周期是当对JSP的请求时开始,当响应结束时销毁。

    • ServletRequest域:作用范围是整个请求链(请求转发也存在);生命周期是在service方法调用前由服务器创建,传入service方法。整个请求结束,request生命结束。

    • HttpSession域:作用范围是一次会话。生命周期是在第一次调用reque()方法时,服务器会检查是否已经有对应的session,如果没有就在内存中创建一个session并返回。当一段时间内session没有被使用(默认为30分钟),则服务器会销毁该session。如果服务器非正常关闭(强行关闭),没有到期的session也会跟着销毁。如果调用session提供的invalidate() ,可以立即销毁session。

    • 注意:服务器正常关闭,再启动,Session对象会进行钝化和活化操作。同时如果服务器钝化的时间在session 默认销毁时间之内,则活化后session还是存在的。否则Session不存在。 如果JavaBean 数据在session钝化时,没有实现Serializable 则当Session活化时,会消失。

    ServletContext域:作用范围是整个Web应用。当Web应用被加载进容器时创建代表整个web应用的ServletContext对象,当服务器关闭或Web应用被移除时,ServletContext对象跟着销毁。

    软件开发过程一般有几个阶段?每个阶段的作用


    1. 需求分析

    2. 系统设计

    3. 详细设计

    4. 编码

    5. 测试

    6. 软件交付准备

    7. 验收

    1.《e3manager怎么用?我来告诉你答案java知识点》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

    2.《e3manager怎么用?我来告诉你答案java知识点》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

    3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/gl/3015539.html