首页 > 代码库 > SSH学习笔记

SSH学习笔记

一、Struts
        在没有学习SSH框架前,我们一般采用Jsp+java bean+servlet开发,这里就是MVC架构。而Struts其实就是替代了Servlet,我们知道Servlet在一般的开发中做控制页面跳转,同时调用系统的业务逻辑层。现在想想Struts是不是做一样的是?只是它能够更加的提高开发速度。我们Servlet开发时,是要创建一个Servlet其实就是继承了HttpServlet这个类。而现在Struts里面的Action也要集成一个ActionSupport类。这里可以看到其实Struts基本上和Servlet差不多,但是其中也各有不同。下面就介绍一下其中的差异:
        首先从接收参数上,Struts可以避免我们重复的调用request.getParameter("pName")这个方法,Struts可以貌似可以是用四种方式
         1.使用ModelDriven
         在创建Action 的时候,发现Action 实现了ModelDriven 接口,去调用接口的getModel()方法,取到了相关对象。
相应提交方式可以用get 和post,如:testAction? name=admin

view plain
  1. public class TestAction extends BaseAction implements ModelDriven<ResBananRc>{  
  2. private static final long serialVersionUID = -7463970150000893325L;  
  3. private ResBananRc resBananRc = new ResBananRc();//这里要手动的New下  
  4. public ResBananRc getModel() {  
  5. return resBananRc;  
  6. }  
  7. public void execeute() {  
  8. System.out.println("姓名:" + resBananRc.getName());  
  9. }  
  10. }  


      2.用Action 的属性
        在action中定义要接收的参数,并创建getter,setter方法,参数变量名要和传递过来的参数名一样,并不用做数据类型的转换。相应提交方式可以用get 和post,如:testAction? name=admin


view plain
  1. public class TestAction extends BaseAction{  
  2. private static final long serialVersionUID = -7463970150000893325L;  
  3. private String name;  
  4. public void execeute() {  
  5. System.out.println(name +" : " + name);  
  6. public String getName() {  
  7. return name;  
  8. }  
  9. public void setName(String name) {  
  10. this.name = name;  
  11. }  
  12. }  


      3。使用Domain Model
      在Action 里面不存很多的属性,而是用Model 层用到的模型,保存它的一个对象。相应提交方式可以用get 和post,如:testAction? resBananRc.name=admin(这是比较常用的)

view plain
    1. public class TestAction extends BaseAction{  
    2. private static final long serialVersionUID = -7463970150000893325L;  
    3.