摘要:
contextMap(非常重要) 1、动作类的生命周期 明确:动作类是多例的,每次动作访问,动作类都会实例化。所以是线程安全的。与Struts1的区别是,struts1的动作类是单例的。 2、请求动作的数据存放 问题: 每次请求时,都会产生一些请求数据,这些数据存放到哪里去了? 明确: 在每次动作执 阅读全文
摘要:
五、OGNL简介(非常重要) 1、什么是OGNL OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个单独的开源项目。 Struts2框架使用OGNL作为默认的表达式语言。 2、OGNL的功能 前提:OGNL是struts2整合的一个开源项 阅读全文
摘要:
四、文件的上传(拦截器)和下载(stream结果类型)(需要练一遍) 1、文件上传 必要前提: a.表单method必须是post; b.enctype取值必须是multipart/form-data; c.提供文件选择域。 1 <%@ page language="java" import="ja 阅读全文
摘要:
Struts2中的拦截器(特别重要) 1、拦截器的重要性 Struts2中的很多功能都是由拦截器完成的。比如:servletConfig,staticParam,params,modelDriven等等。 是AOP编程思想的一种应用形式。 2、拦截器的执行时机: 3、自定义拦截器 3.1、拦截器的类 阅读全文
摘要:
一、国际化概念(了解) 1、什么是国际化 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据。 2、什么需要国际化 程序:需要国际化。 数据:是什么样的就是什么样的。 比如: 用户注册的表单,有用户名,密码这5个 阅读全文
摘要:
数据验证 用户的输入验证,必须做,且工作量巨大。 1、验证的方式 客户端验证:javascript 服务端验证:逻辑验证(我们的代码) 注意:如果客户端和服务端二选一的话,服务器端的不能省。 实际开发中:客户端+服务端 2、Struts2的服务端验证 2.1、编程式验证 前提: 动作类必须继承Act 阅读全文
摘要:
四、数据类型的转换(明白原理,实际开发中几乎不用) 1、开发中的情况: 实际开发中用户通过浏览器输入的数据都是String或者String[]。 String/String[]————填充模型(set方法)————>POJO(plain old java object) pojo中有java的数据类 阅读全文
摘要:
封装请求正文到对象中(非常重要) 1、静态参数封装 在struts.xml配置文件中,给动作类注入值。调用的是setter方法。 struts.xml的编写: <action name="action1" class="com.itheima.web.action.Demo1Action" meth 阅读全文