一.过滤器filter可以实现以下目标:
1.对响应信息进行数据压缩
2.对HTTP请求进行预处理
3.会话验证
4.请求和响应信息日志记录
二.监听器的使用
例如:监听Session是否超时,有效
三.jsp和sevlet
1.使用jsp页面可以实现快速开发,而编写服务器小程序servlet则需要更多的时间.
2.jsp页面可以是XML文档,因此可以用它们进行转换.
3.服务器小程序servlet比jsp的生命期(lifecycle)管理更具优势.
4.服务器小程序servlet能够更好的控制线程的安全性.
四.MVC设计方式简介
1.Model模型
Model表示或者说封装(encapsulate)着应用程序的业务逻辑或者状态.
Model组件可以采用下列技术:JavaBean,EJB,Java Data Object(Java数据对象)等.
2.View视图
View组件构成了表示层,它就是将Model中的信息显示给用户的地方.
典型的View组件包括JSP页面和自定义标签库.
3.Controller控制器
Controller组件负责处理View与Model组件之间通信的组件.
五.容器Container
1.容器处理的是与该容器实现的技术相关的事件的生命期.
2.每个容器都为自己支持的应用程序组件类型提供了如下三个功能:
(1).组件的部署
(2).组件的管理
(3).组件的运行和生命期事件处理
六.选择自己的应用程序服务器
在给定的应用程序服务器上开发Web应用程序的时候需要考虑的重要问题:
1.性能
2.成本
3.开发
4.支持
5.遵守的标准
6.管理
7.扩展性
8.可靠性
9.使用性能,群集功能,负载平衡能力,故障恢复支持,安全性和对部署的支持
七.协议
1.Http是一种请求/响应型无状态协议.
1xx: 信息.请求已经收到,正在进一步处理.
2xx: 成功.操作已经成功接收,理解,并且接受.
3xx: 重定向.必须实施进一步操作才能完成请求.
4xx: 客户错误.请求中包含错误语法或者无法完成.
5xx: 服务器错误.服务器末能完成明显有效的请求.
2.Http响应信息报头
Cache-Control:通用报头字段指定的所有的缓冲存储机制及请求/响应链必须遵守的指令.
Expires: 响应信息报头字段规定的是此响应信息过期的日期/时间.
Location: 响应信息报头字段用于将接收者重定向到与请求URL不同的另一个位置,以便完成对请求的处理或者指出新的资源.
Retry-After: 表示要求用户代理程序需要等待的最短时间,然后再发出重定向后的请求.
指定报头的做法可以从服务器小程序返回响应信息.
3.Https就是Http over SSL,对数据进行安全处理,如密码,信用卡等.
访问形式:https://www.apress.com/j2ee/login.jsp,则可以保证在请求和响应中都使用SSL来保证安全性
Web容器会在标准的Https端口提供Https服务,即端口443.
4.Http/SOAP
SOAP是一个表示层协议,用于交换XML消息.
5.JRMP(Java Remote Method Protocol)java远程方法协议,又称为RMI传输协议.
八.应用程序方面的考虑
1.安全性
2.能力
3.系统响应
4.可靠性
5.可用性
6.扩展性
九.关于可移值性的考虑
可重用性是指一些应用程序都在相同的应用程序服务器上运行,那么我们可以在这些应用程序中重复使用相关的组件.
可移值性是指能够在不同的应用程序服务器上运行而不需进行修改的能力.
需要考虑问题如下:
1.JDK支持
2.不同的应用程序厂商
3.关于可维护性的提示
4.性能方面的考虑
5.JVM和JIT选项的选择
6.Java堆的大小和垃圾收集
7.会话:
(1).不要在HttpSession对象中存储大型对象.
(2).当完成一个会话的处理之后,应该释放HttpSession,而不是等待JVM作为垃圾将它回收.
(3).如果是从一个Jsp处理会话的生成,那么应该使用下列语句关闭自动会话生成功能,以保证容器不会对该会话进行更新:
<%@ page session="false" %>
(4).使用下列语句取现有的会话也是好办法:
<%
HttpSession = javax.servlet.http.HttpServletRequest.getSession(false);
%>
8.数据传输处理
9.避免在客户-服务器之间往复传送信息的一个方便办法是在Jsp页面中使用转发(forwarding)代替重定向(redirecting).
在使用转发功能的时候,Jsp容器会通过服务器上的一个内部方法调用目标页面,因此,同一个请求也会用于处理新的页面,
而浏览器则对此并不知情.例如:我们在浏览器的地址栏中看到的仍然是原来的那个URL.
在进行重定向的时候,进行重定向操作的页面会告诉浏览器通过一个新的请求访问目标页面.因此显示在浏览器地址栏中
的URL会变成新页面的URL.在进行重定向的时候,任何属于请求作用域的对象在新的页面中都将不可用,因为浏览器创建了一个
新的请求.如果我们需要来自请求中的信息,那么既可以将它作为一个请求参数传递,也可以把数据保存在一个会话,或者应用
程序作用域对象.
10.安全性
为了获得最佳性能,应该让部署的Web应用程序使用Http,只在需要传输机密数据的页面中使用Https.