`
jzkangta
  • 浏览: 160998 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
自定义拦截器 要自定义拦截器需要实现com.opensymphony.xwork2.interceptor.Interceptor接口: public class PermissionInterceptor implements Interceptor { private static final long serialVersionUID = -5178310397732210602L; public void destroy() { } public void init() { } public String intercept(Action ...
文件上传 第一步:在WEB-INF/lib下加入commons-fileupload-1.2.1.jar、commons-io-1.3.2.jar。这两个文件可以从http://commons.apache.org/下载。 第二步:把form表的enctype设置为:“multipart/form-data“,如下: <form enctype="multipart/form-data" action ...
访问或添加request/session/application属性 public String scope() throws Exception{ ActionContext ctx = ActionContext.getContext(); ctx.getApplication().put("app", "应用范围");//往ServletContext里放入app ctx.getSession().put("ses", "session范围");//往session里放入ses ...
自定义类型转换器 java.util.Date类型的属性可以接收格式为2009-07-20的请求参数值。但如果我们需要接收格式为20091221的请求参数,我们必须定义类型转换器,否则struts2无法自动完成类型转换。 import java.util.Date; public class HelloWorldA ...
接收请求参数 1.采用基本类型接收请求参数(get/post) 在Action类中定义与请求参数同名的属性,struts2便能自动接收请求参数并赋予给同名属性。 请求路径: http://localhost:8080/test/view.action?id=78 public class ProductAction { private Integer id; public void setId(Integer id) {//struts2通过反射技术调用与请求参数同名的属性的setter方法来获取请求参数值 this.id = id; ...
Struts2的处理流程 StrutsPrepareAndExecuteFilter是Struts 2框架的核心控制器,它负责拦截由<url-pattern>/*</url-pattern>指定的所有用户请求,当用户请求到达时,该Filter会过滤用户的请求。默认情况下,如果用户请求的路径不带后缀或者后缀以.action结尾,这时请求将被转入Struts 2框架处理,否则Struts 2框架将略过该请求的处理。当请求转入Struts 2框架处理时会先经过一系列的拦截器,然后再到Action。与Struts1不同,Struts2对用户的每一次请求都会创建一个Action, ...
1.指定需要Struts 2处理的请求后缀 前面我们都是默认使用.action后缀访问Action。其实默认后缀是可以通过常量”struts.action.extension“进行修改的,例如:我们可以配置Struts 2只处理以.do为后缀的请求路径: <?xml version="1.0" ...
Struts2为Action中的属性提供了依赖注入功能,在struts2的配置文件中,我们可以很方便地为Action中的属性注入值。注意:属性必须提供setter方法。 public class HelloWorldAction{ private String savePath; public String getSavePath() { return savePath; } public void setSavePath(String savePath) { this.savePath = savePath; } ...... } &l ...
Action中result的各种转发类型 <action name="helloworld" class="cn.itcast.action.HelloWorldAction"> <result name="success">/WEB-INF/page/hello.jsp</result> </action> result配置类似于struts1中的forward,但struts2中提供了多种结果类型,常用的类型有: dispatcher(默认值)、 redirect 、 red ...
Action名称的搜索顺序 1.获得请求路径的URI,例如url是:http://server/struts2/path1/path2/path3/test.action 2.首先寻找namespace为/path1/path2/path3的package,如果不存在这个package则执行步骤3;如果存在这个package,则在这个package中寻找名字为test的action,当在该package下寻找不到action 时就会直接跑到默认namaspace的package里面去寻找action(默认的命名空间为空字符串“” ) ,如果在默认namaspace的package里面还寻找 ...
在默认的配置文件struts.xml 中加入如下配置: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package n ...
什么是Struts2 Struts2是在WebWork2基础发展而来的。和struts1一样, Struts2也属于MVC框架。不过有一点大家需要注意的是:尽管Struts2和struts1在名字上的差别不是很大,但Struts2和struts1在代码编写风格上几乎是不一样的。那么既然有了struts1,为何还要推出struts2。主要是因为struts2有以下优点: 1 > 在软件设计上Struts2没有像struts1那样跟Servlet API和struts API有着紧密的耦合,Struts2的应用可以不依赖于Servlet API和struts API。 Struts2的这种设计 ...
一级缓存: 一级缓存很短,和session的生命周期一致,随着session的关闭而消亡。 get,load,iterate(查询实体对象),使用一级缓存 一级缓存缓存的是实体对象 管理一级缓存: session.clear  session.evict 如何避免一次性批量执行导致内存溢出:先session.flush 再session.clear 二级缓存: 二级缓存也称进程级缓存,或叫sessionFactory级的缓存,它可以被所有的session共享,随着sessionFctory的生存周期存在和消亡 sessionFactory可以管理二级缓存 使用第三方的jar,例如 O ...
多对多关联(单向) 多对多一般都会出现一张中间表,来记录这种关系。 例如: User  和  role的关系 一般都会有一张T_User_Role关系表 我们这里,这张关系表是自动生成的。 User.java public class User implements java.io.Serializable { private Integer id; private String name; private Set<Role> roles; } Role.java public class Role implements ja ...
一对一关联映射(one-to-one) 两个对象之间,是一对一的关系。如:Person  和  IdCard 有两种实现方式可以完成一对一的关联映射: 1.主键关联 让两个对象具有相同的主键值,以表明他们之间一一对应的关系,数据库表不会有额外的字段来维护他们之间的关系,仅仅通过两张表的相同主键来关联。 2.唯一外键关联:和多对一配置一样,只不过用了唯一的限制。 a)主键关联(单向) Person.java public class Person implements java.io.Serializable { private Integer id; priv ...
Global site tag (gtag.js) - Google Analytics