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服务器关闭时

转载于:https://www.cnblogs.com/White-destiny/p/5335273.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值