学习Struts2的记录

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();

7、实体类中  规范时间格式   注意时在getEmpdate上
@JSON(format="yyyy-MM-dd")
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>
即在<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());

。。。

psmt.setDate (5 ,sd );

2:  psmt.setDate(5,new Date(emp.getEmpdate()));


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值