微科社区,轻松开发从此开始! 请登陆 免费注册

微科社区

当前位置:首页 > Java平台 > 开源框架 >

SSH框架学习总结

时间:2017-01-23 03:31  浏览:努力统计中...
本来对SSH框架的学习可以早在去年,但是一直在给老师弄他的科研部分,所以一直拖到最近才算是学完了。乘现在有空总结一下,方便以后复习。 一、Struts 在没有学习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

01.public class TestAction extends BaseAction implements ModelDriven<ResBananRc>{ 
02.private static final long serialVersionUID = -7463970150000893325L; 
03.private ResBananRc resBananRc = new ResBananRc();//这里要手动的New下  
04.public ResBananRc getModel() { 
05.return resBananRc; 
06.} 
07.public void execeute() { 
08.System.out.println("姓名:" + resBananRc.getName()); 
09.} 
10.}  
    2.用Action 的属性
    在action中定义要接收的参数,并创建getter,setter方法,参数变量名要和传递过来的参数名一样,并不用做数据类型的转换。相应提交方式可以用get 和post,如:testAction? name=admin
01.public class TestAction extends BaseAction{ 
02.private static final long serialVersionUID = -7463970150000893325L; 
03.private String name; 
04.public void execeute() { 
05.System.out.println(name +" : " + name); 
06.} public String getName() { 
07.return name; 
08.} 
09.public void setName(String name) { 
10.this.name = name; 
11.} 
12.} 
}
    3。使用Domain Model
    在Action 里面不存很多的属性,而是用Model 层用到的模型,保存它的一个对象。相应提交方式可以用get 和post,如:testAction? resBananRc.name=admin(这是比较常用的)
01.public class TestAction extends BaseAction{ 
02.private static final long serialVersionUID = -7463970150000893325L; 
03.private ResBananRc resBananRc; 
04.public ResBananRc getResBananRc() { 
05.return resBananRc; 
06.} public void setResBananRc(ResBananRc resBananRc) { 
07.this.resBananRc = resBananRc; 
08.} 
09.public void execeute() { 
10.System.out.println("姓名: " + resBananRc.getName()); 
11.} 
12.}  
    4.使用request 对象
    此方法与与传统的JSP 等传接参数一样,即使用request. getParameter(“”)方法

01.public class TestAction extends BaseAction{ 
02.private static final long serialVersionUID = -7463970150000893325L; 
03.public void execeute() { 
04.String name = super.getRequest().getParameter("paraName"); 
05.System.out.println("姓名:" + name); 
06.}  
    那么在Servlet里面接收参数只能使用上面的第四种方法,这种方法接受参数重复代码量比较大,所以使用Struts在接收参数方面可以简化开发。
    再次就是上传文件方面,Struts也做了比较不错的简化。我们知道在使用Servlet上传文件时,那代码量是比较大的(相对于Struts),但是使用Struts,我们可以不用写实现上传文件的代码,而只要在Action中定义接受文件的参数就够了,我们唯一做的就是接收文件,具体怎么上传的交给了Struts。这也是Struts在开发上的简化。
     当我们使用Servlet写控制部分的时候,我们可能会创建很对的Servlet,那么web.xml中就会配置相当对的Servlet,这样第一不方便管理,第二维护比较麻烦。而Struts如果可以我们可以只做简单的配置可以满足所有的控制要求。但是为了更好的维护,一般不这样做,一般值将Action分块,和代码分包一样,例如这块Action处理用户的,包括用户的注册,用户修改信息,用户登录,以及用户其他的其操作。那么这样可以方面代码的管理和代码维护。这也是Struts一方面的优化。这也并不是说Servlet不好,我就用Servlet开发了一两年的时间。

顶一下
(1)
100%
踩一下
(0)
0%
------分隔线------
栏目列表
推荐内容