《轻量级J2EE企业应用实战--Struts+Spring+Hibernate整合开发》
来源:互联网 发布:河南农信数据脱敏 编辑:程序博客网 时间:2024/04/28 05:06
第2 章 传统表现层 JSP:
JSP 文件必须在JSP 服务器内运行。
JSP 文件必须生成Servlet才能执行。
每个JSP 页面的第一个访问者速度很慢,因为必须等待JSP 编译成Servlet.
〈%@include file="relativeURLSpec" %〉
如果被嵌入的文件经常需要改变,建议使用<jsp:include>操作指令,因为它是动态的include 语句。
JSP 的7 个动作指令
• jsp:forward: 执行页面转向,将请求的处理转发到下一个页面。
• jsp:param: 用于传递参数,必须与其他支持参数曲标签一起使用。
• jsp:include: 用于动态引入一个JSP 页面。
• jsp:p1ugin: 用于下载JavaBean 或Applet 到客户端执行。
• jsp:useBean: 使用JavaBean 。
• jsp:setProperty: 修改JavaBean 实例的属性值。
• jsp:getProperty: 获取JavaBean 实例的属性值。
JSP 的9 个内置对象
• application: javax.servlet. ServletContext 的实例,该实例代表JSP 所属的Web 应用
本身,可用于JSP 页面,或者Servlet 之间交换信息。常用的方法有
getAttribute(String attNarne) , setAttribute(String attNarne , String attValue) 和
getInitPararneter(String paramNarne)等。
• config: javax.servlet. ServletConfig 的实例,该实例代表该JSP 的配置信息。常用
的方法有getInitPararneter(String paramNarne) 及getInitPararneternarnes() 等方法。
事实上, JSP 页面通常无须配置,也就不存在配置信息。因此,该对象更多地在
Servlet 中有效。
• exception: java.lang.Throwable 的实例,该实例代表其他页面中的异常和错误。只
有当页面是错误处理页面,即编译指令page 的isErrorPage 属性为true 时,该对
象才可以使用。常用的方法有getMessageO和printStackTraceO等。
• out: javax.servlet.jsp.JspWriter 的实例,该实例代表JSP 页面的输出流,用于输出
内容,形成HTML 页面。
• page: 代表该页面本身,通常没有太大用处。也就是Servlet 中的this ,其类型就
是生成的Se凹let 。
• pageContext: javax.servlet.jsp.PageContext 的实例,该对象代表该JSP 页面上下文,
使用该对象可以访问页面中的共享数据。常用的方法有getServletContextO和
getServletConfigO等。
• request: javax.servlet. http:HttpServletRequest 的实例,该对象封装了一次请求,客
户端的请求参数都被封装在该对象里。这是一个常用的对象,获取客户端请求参
数必须使用该对象。常用的方法有getPararneter(String paramNarne), getPararneter
Values(String paramName), setAttribute(String atttibuteName,Object attributeValue),
getAttribute(String attributeName)和setCharacterEncoding(String env)等。
request 对象不仅封装了表单域值,还可以封装地址栏传递的参数。
• response: javax.servlet.http.HttpServletResponse 的实例,代表服务器对客户端的响
应。通常,也很少使用该对象直接响应,输出响应使用out 对象,而response 对
象常用于重定向。常用的方法有sendRedirect(j ava.lang.String location)等。
• session: javax.servlet.http.HttpSession 的实例,该对象代表一次会话。从客户端浏
览器与站点建立连接起,开始会话,直到关闭浏览器时结束会话。常用的方法有:
getAttribute(String attName), setAttribute(String attName, String attValue)等。
out 是页面输出流,是JstWriter 的实例。JspWriter 是Writer 的子类, Writer 是字符流,
无法输出非字符内容一一即无法输出字节流。
与forward 不同的是,重定向会丢失所有的请求参数及请求属性。
增加Cookie 也是使用response 内置对象完成的, response 对象提供了一个方法。
• void addCookie(Cookie cookie): 增加Cookie。
Servlet 的开发
• doGet: 用于响应客户端的get 请求。
• doPost: 用于响应客户端的post 请求。
• doPut: 用于响应客户端的put 请求。
• doDelete: 用于响应客户端的delete 请求。
• init(ServletConfig config): 创建Servlet 实例时,调用的初始化方法。
如果重写了init(ServletConfig config)方法,则应在重写该方法的第一行调用
super.init(config) 。该方法将调用HttpSe凹let 的init 方法。
• destroyO: 销毁Servlet 实例时,自动调用的资源回收方法。
Servlet的生命周期
(1)创建Servlet 实例。
(2) Web 容器调用Servlet 的init 方法,对Servlet 进行初始化。
(3) Servlet 初始化后,将一直存在于容器中,用于响应客户端请求。如果客户端有
get 请求,容器调用Se凹let 的doGet 方法处理并响应请求。对于不同的请求,有不同的
处理方法,或者统一使用service 方法处理来响应用户请求。
(4) Web 容器角色销毁Servlet 时,调用Servlet 的destroy 方法,通常在关闭Web
容器之时销毁Servlet。
如果需要Web 应用启动时,可使用load-on-startup 元素完成Servlet 的初始化。
load-on-startup 元素只接收一个整型值,这个整型值越小, Servlet就越优先初始化。
访问Servlet 配置参数要通过ServletConfig 类的实例完成, ServletConfig提供如下
方法。
• java.lang.String getInitParameter(java.lang.String name): 用于获取初始化参数。
JSP 的内直对象config 就是此处的ServletConfig
- 《轻量级J2EE企业应用实战--Struts+Spring+Hibernate整合开发》
- 李刚著《轻量级J2EE企业应用实战-Struts+Spring+Hibernate整合开发》的2处低级错误
- 轻量级Java EE企业应用实战——Struts 2+Spring+Hibernate整合开发(附光盘)
- 轻量级Java EE企业应用实战(第3版)—Struts 2+Spring 3+Hibernate整合开发
- 轻量级Java EE企业应用实战(第3版)——Struts 2+Spring 3+Hibernate整合开发
- 轻量级Java EE企业应用实战(第3版)——Struts 2+Spring 3+Hibernate整合开发
- 轻量级Java EE企业应用实战(第3版)——Struts 2+Spring 3+Hibernate整合开发
- 轻量级Java EE企业应用实战(第3版)——Struts 2+Spring 3+Hibernate整合开发
- 轻量级Java EE企业应用实战(第3版):Struts 2+Spring 3+Hibernate整合开发(含CD光盘1张)
- 轻量级Java EE企业应用实战(第3版)——Struts 2+Spring 3+Hibernate整合开发(含CD光盘1张)
- 轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)
- 构架强壮的J2EE应用 -- 集成Spring、hibernate、struts框架开发轻量级J2EE应用
- struts+spring+ibatis轻量级J2EE开发
- struts+spring+ibatis轻量级J2EE开发
- J2EE轻量级企业应用
- J2EE Web应用的轻量级解决方案:SSH(Spring+Struts+Hibernate)解析
- 整合Struts+Hibernate+Spring应用开发 Hibernate hql操作详解
- 李刚《轻量级JavaEE企业应用实战Struts2Spring3Hibernate整合开发》笔记
- 用JAVA实现的类FileOperate,包括文件建立,查询,删除等。。。(继续更新中)
- Window内核对象编程示例代码
- 顶....一下吧,去看看
- VC++6.0编译环境介绍
- 测试一下
- 《轻量级J2EE企业应用实战--Struts+Spring+Hibernate整合开发》
- 破解飓风视频播放密码的方法
- 回调函数与仿函数
- 如何写VBA 程序
- OpenCV学习笔记
- 如何将数据文本反转
- c#中 uint--byte[]--char[]--string相互转换汇总
- request.getParameterMap的学习
- 项目风险管理技术与方法