jsp详解

上传人:小** 文档编号:89125076 上传时间:2019-05-18 格式:DOC 页数:14 大小:480KB
返回 下载 相关 举报
jsp详解_第1页
第1页 / 共14页
jsp详解_第2页
第2页 / 共14页
jsp详解_第3页
第3页 / 共14页
jsp详解_第4页
第4页 / 共14页
jsp详解_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《jsp详解》由会员分享,可在线阅读,更多相关《jsp详解(14页珍藏版)》请在金锄头文库上搜索。

1、JavaEE学习参考手册Page 指令:Jsp的7个动作指令:Jsp:forward:执行页面跳转,将请求的处理转发到下一个页面Jsp:param:用于传递参数,必须与其他支持标签一起使用 Jsp:include:用于动态引入一个JSP页面Jsp:plugin:用于下载JavaBean或Applet到客户端Jsp:useBean:使用JavaBeanJsp:setProperty:修改JavaBean的实例参数Jsp:getProperty:获得JavaBean的实例参数Jsp的9个内置对象:Application:javax.servlet.ServletContext的实例Config:j

2、avax.servlet.ServletConfig的实例Exception:java.lang.Throwable的实例Out:javax.servlet.jsp.JspWriter的实例Page:代表该页面本身pageContext:javax.servlet.jsp.PageContext的实例request:javax.servlet.http.HttpServletRequest的实例response:javax.servlet.http.HttpServletResponse的实例session:javax.servlet.http.HttpSession的实例Jsp创建Cooki

3、eII 获取请求参数String name = request.getParameter(“username”,name) ;II 以获取到的请求参数为值,创建一个Cookie 对象Cookie c = new Cookie(username , name);II 设置Cookie 对象的生存期限c.setMaxAge(24 * 3600);II 向客户端增加Cookie 对象response.addCookie(c);EL表达式: pageContext: 代表该页面的pageContext 对象,与JSP 的pageContext 内置对象相同。pageScope: 用于获取page 范围

4、的属性值。 requestScope: 用于获取request 范围的属性值。sessionScope: 用于获取session 范围的属性值。 applicationScope: 用于获取application 范围的属性值。 param: 用于获取请求的参数值。 paramValues: 用于获取请求的参数值,与param 的区别在于,该对象用于获取属性值为数组的属性值。 header: 用于获取请求头的属性值。 headerValues: 用于获取请求头的属性值,与header 的区别在于,该对象用于获取属性值为数组的属性值。 initParam: 用于获取请求Web应用的初始化参数。S

5、truts2框架按如下搜索顺序加载Struts2常量:Struts-default.xmlStruts-plugin.xmlStruts.xmlStruts.propertiesWeb.xml在struts.xml文件中定义常量(推荐在struts.xml文件中配置)Struts.properties中定义常量Struts.devMode=true注意:命名空间只有一个级别,如果请求的URL是/bookservice/search/get.action,系统将先在/bookservice/serach的命名空间下查找名为get的Action,如果找到名为get的action,则由该Action

6、处理用户请求,如果在该命名空间内没有找到名为get的Action,系统将直接进入默认的命名空间中查找名为get的Action,而不会在/bookservice的命名空间下查找名为get的Action。拦截器配置:1、 进行权限控制2、 跟踪日志3、 跟踪系统的性能瓶颈动态方法(Dynamic Method Invocation)调用来处理这种请求. function regist() targetForm=document.form0;/获得页面的一个表单元素targetForm.action=Login!regist.action;/动态修改目标表单的action属性targetForm.s

7、ubmit;/提交表单注意:使用动态方法调用之前必须设置Struts2允许动态方法调用。开启系统的动态方法调用是通过设置struts.enable.DynamicMethodInvoaction=true使用通配符:注意:除非请求的URL与Action的name属性绝对相同,否则将按照先后顺序来决定由哪个Action来决定处理用户的请求,因此,我们应该将名为*的Action配置在最后,否则Struts2将使用该Action来处理所有希望使用的模式来匹配的请求。 /thank_you.jspStruts2内建支持结果类型:Chain结果类型:Action链式处理的结果类型Chart结果类型:用于

8、整合JfreeChart的结果类型Dispatcher结果类型:用于JSP整合的结果类型Freemarker结果类型:用于Freemarker整合的结果类型Httpheader结果类型:用于控制特殊的HTTP行为的结果类型Jasper结果类型:用于JasperReports整合的结果类型Jsf结果类型:用于整合JSF的结果类型Redirect-action结果类型:用于直接跳转到其他Action的结果类型Stream结果类型:用于向浏览器返回一个InputStream(一般用于文件下载)Tiles结果类型:用于整合Tiles结果类型Velocity结果类型:用于整合Velocity结果类型Xs

9、lt结果类型:用于整合XML/XSLT整合的结果类型Plaintext结果类型:用于显示某个页面的原始代码的结果类型 /welcome.jsp UTF-8Redirect重定向:重定向会丢失所有的请求参数、请求属性-当然也丢失了Action的处理结果。全局结果:在元素中配置,当在元素中配置元素时,配置了一个全局结果,全局结果的作用范围是对所有的Action都有效。 /success.jsp当Action处理用户的请求结束后,会首先在本Action里的局部结果里搜索逻辑视图对应的结果,只有在Action里的局部结果里找不到对应的视图才会到全局视图里搜索。模型驱动:所谓模型驱动,就是单独使用Jav

10、aBean作为贯穿整个MVC流程,与之对应的属性模型驱动,则使用(Porperty)作为贯穿MVC流程的信息携带者。当然,属性无法独立存在,它必须依附一个对象,这个对象就是Action实例。简单的说,模型驱动使用简单的VO(值对象)来封装请求参数和处理结果,属性驱动则使用Action实例来封装请求参数和处理结果。实现ModelDriven接口Struts2的异常机制:声明异常捕捉机制:异常映射可分为俩种:局部异常映射:元素作为元素的子元素配置。全局异常映射:元素作为元素的子元素配置。Struts2类型转换:ActionName-conversion.properties:ActionName是

11、需要转换器生效的Action的类名,后面的-conversion.properties则是固定的。文件的上传和下载:表单属性的enctype属性Application/x-www-form-urlencoded:这是默认的编码方式,它只处理表单域里的value属性值,采用这种编码方式的表单将表单域的值处理成URL编码的方式。Multipart/form-data:这种编码方式会以二进制流的方式来处理表单数据,这种编码方式会把文件域指定文件的内容也封装到请求参数里。Text/plain:这种编码方式当表单的action属性为mailto:url的形式时比较方便,这种方式要适用于直接通过表单发送邮件的方式。Commons-fileupload上传文件:/创建文件工厂DiskFileItemFactory factory = new DiskFileItemFactory();/设置上传工厂的限制20Mfactory.setSizeThreshold(1024 * 20 * 1024);factory.setRepository(new File(request.getRealPath(/);/创建一

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号