JavaEE学习记录3

Posted 流水乄心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaEE学习记录3相关的知识,希望对你有一定的参考价值。

Servlet

  1. 运行在Web服务器或应用服务器上的Java程序
  2. 在Web上创建动态内容的(有效而强大的)解决方案
  3. 由容器来管理生命周期【加载(创建)程序、初始化、服务、终止(销毁)、卸载】与服务器交互
  4. 由Sun规范功能

Servlet生命周期

  1. 加载:通过web.xml配置指定Servlet的位置(包和类名),成功后web容器通过反射Servlet实例化。
  2. 初始化:调用init()方法初始化这个实例化的对象。在处理请求前完成一些初始化工作(建立数据库链接,读取源文件信息等)。初始失败,直接卸载Servlet。
  3. 服务:调用service()方法,处理请求。ServletRequest处理请求,ServletResponse设置响应信息。
  4. 销毁:Servlet从容器中被删除时,web容器自动调用destroy()方法。
  5. 卸载:Servlet调用完destroy()方法后,此实例被垃圾回收器回收,需再次使用此实例,会重新调用init()初始化。

正常情况下只会初始化、销毁一次;特殊情况(如:Servlet长时间不使用)下才会多次调用。

Servlet基本配置

  1. 完全匹配:
    <url-pattern>/servlet/MyServlet.do</url-pattern>`
  2. 目录匹配:
    <url-pattern>/servlet/*</url-pattern>
  3. 扩展名匹配:
    <url-pattern>*.do</url-pattern>

容器查找:完全匹配 > 目录匹配(从最长目录匹配开始) > 扩展名匹配

 

ServletContext : 应用上下文

只有一个,所有对象都可以访问它。(全局的)

ServletConfig

只有一个Servlet对应。作用域比ServletContext小。

虚拟路径转换为物理路径

getResourcePaths(java.lang.String path):
getResourceAsStream(java.lang.String path):
getResource(java.lang.String path)

状态行: HTTP协议、状态码、状态描述

浏览器向服务器发送请求方式

  1. 浏览器输入URL地址
  2. 点击超链接
  3. 表单提交

浏览器向服务器发送请求方式

  1. 浏览器输入URL地址(Get方法)
  2. 点击超链接(Get方法)
  3. 表单提交(Get、Post方法)

Get、Post方法区别:

 getpost
数据类型 文本 文本、二进制文本
数据长度 不超过255个字符 没有限制
数据可见性 作为URL地址的一部分显示在浏览器地址栏 作为请求的消息体,不可见
数据缓存 缓存在浏览器URL历史状态中 不会被浏览器缓存

HTTP请求

设置请求重定向:
  1. 可以选择别的服务器端程序来处理请求
  2. 把请求重定向到一个完全不同的URL上
请求转发和请求重定向区别:
  1. 重定向是客户端浏览器来完成,请求转发是服务器端来完成
  2. 采用重定向浏览器URL地址会改变,而请求转发则不会
  3. 重定向客户端浏览器进行两次请求和响应,而请求转发只有一次请求和响应

设置自动刷新和等待页: response.setHeader("Refresh","time;URL=url"); “Refresh”存在浏览器兼容问题。

Web状态管理

状态管理解决方案:
  1. 隐藏字段(缺点:必须是动态页面才有效)
  2. cookie(缺点:数据保存在客户端,用户可以禁用Cookie,并且Cookie可以被清除,可见;不安全的。)
  3. Session(会话,存放在服务器):消亡->1.超时(可以设置时间) 2.手动关闭 3.系统崩溃,web服务器关闭时

以上是关于JavaEE学习记录3的主要内容,如果未能解决你的问题,请参考以下文章

JavaEE Tutorials - 使用嵌入式企业bean容器

我的Docker学习笔记:从入门到实战过程全记录

我的Docker学习笔记:从入门到实战过程全记录

JavaEE企业应用实战学习记录struts配置文件详细解析

资源更新 | JavaEE学习路线图之热门技术框架+容器技术专题

JavaEE企业应用实战学习记录optiontransferselect实现两个列表选择框