1、struts2-convention-plugin-2.3.28.1.jar 这个jar包用于解析struts2的注解的包
2、struts2-json-plugin-2.3.28.1.jar 这个jar包用于解析struts2的中涉及时间格式的注解的包
3、struts2使用注解必须在action中 必须 implement Action 或者extends ActionSupport(这个最强大)
@ParentPackage("struts-default") 必须写且固定写法 在META-INF中有个struts-default.xml 继承他就可以使用强大的框架~~
@Namespace("/") 约束名字空间 在当前工程下 就只写 / 就行。
@Action 有两个包 导这个 import org.apache.struts2.convention.annotation.Action;
例如:@Action(value="getEmpAllAction",results={@Result(name="showAllEmp",location="/showAllEmp.jsp")})
4、Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost are already in use. 任务管理器 杀死javaw
5、
HTTP Status 404 - No result defined for action action.EmpAction and result input
用来指定错误画面
@Action(value="addEmpAction",results={@Result(name="input",location="/addEmp.jsp")}) input是固定的名字,不能瞎写
6、
//获取HttpServletRequest
HttpServletRequest re = ServletActionContext.getRequest();
re.setAttribute("listDept", list);
//获取HttpServletRequest
ServletContext application = ServletActionContext.getServletContext();
//获取session 这个得先获取到HttpServletRequest
HttpSession session = re.getSession();
HttpServletRequest re = ServletActionContext.getRequest();
re.setAttribute("listDept", list);
//获取HttpServletRequest
ServletContext application = ServletActionContext.getServletContext();
//获取session 这个得先获取到HttpServletRequest
HttpSession session = re.getSession();
7、实体类中 规范时间格式 注意时在getEmpdate上
@JSON(format="yyyy-MM-dd")
public Date getEmpdate() {
return empdate;
}
public Date getEmpdate() {
return empdate;
}
8、在action中 由一个action跳到另一个action中 使用注解的方式是:
@Action(value="addEmpAction",results={@Result(name="ok",location="/getEmpAllAction",type="redirectAction")})
其中-----> type是指定这个跳转是请求转发还是重定向 就这两种 即type=“ ”有两个值 一个是
redirectAction 重定向,无需带值。 另一个是chain 是转发,有带值的需求用他。
而且注意的是
location="/getEmpAllAction" 中的 / 。写不写都行,因为它是一个action方法,但如果是jsp页面就必须有这个斜线了。
注意的是当由某一action方法跳到另一个jsp页面时,不写type是因为,已经隐式的存在type的默认值,而且是chain转发类型的。(是否是隐式存在,我也不知道,我是这么理解的,酱紫理解并不耽误使用)
而若使用配置文件的方式想实现由一个action跳到另一个action中 方法如下:
<action name="addAction" class="action.Function" method="add">
<result name="nextAction" type="chain">ShowAllAction</result>
</action>
<result name="nextAction" type="chain">ShowAllAction</result>
</action>
即在<action>标签中添加<result>标签
9、 java.util.date与java.sql.date的区别以及转换
java.util.Date是java.sql.Date 的父类。前者是常用的表示时间的类,后者专门用于读写数据库中Date类型的数据。常用的PreparedStament的舌头Date()的第二个参数
以及ResultSet的getDate()方法的第二个参数,都是java.sql.Date。我们通常都会在实体类中将数据库中的Date类型数据对应的变量设为java.util.Date。而当在某些方法中使用
实体类对象的这个Date类型属性时,就会不匹配。
我常用的转换方法有两种:(其实这两种就只是一种方法的两种写法
)
1:
java.util.Date ud=emp.getEmpdate();
java.sql.Date sd = new java.sql.Date(ud.getTime());
java.util.Date ud=emp.getEmpdate();
java.sql.Date sd = new java.sql.Date(ud.getTime());
。。。
psmt.setDate
(5
,sd
);
2: psmt.setDate(5,new Date(emp.getEmpdate()));