码迷,mamicode.com
首页 > 编程语言 > 详细

JavaEE学习记录3

时间:2016-03-29 23:59:46      阅读:356      评论:0      收藏:0      [点我收藏+]

标签:

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

标签:

原文地址:http://www.cnblogs.com/White-destiny/p/5335273.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!