首页 > 代码库 > 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
- public class TestAction extends BaseAction implements ModelDriven<ResBananRc>{
- private static final long serialVersionUID = -7463970150000893325L;
- private ResBananRc resBananRc = new ResBananRc();//这里要手动的New下
- public ResBananRc getModel() {
- return resBananRc;
- }
- public void execeute() {
- System.out.println("姓名:" + resBananRc.getName());
- }
- }
2.用Action 的属性
在action中定义要接收的参数,并创建getter,setter方法,参数变量名要和传递过来的参数名一样,并不用做数据类型的转换。相应提交方式可以用get 和post,如:testAction? name=admin
- public class TestAction extends BaseAction{
- private static final long serialVersionUID = -7463970150000893325L;
- private String name;
- public void execeute() {
- System.out.println(name +" : " + name);
- } public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- }
3。使用Domain Model
在Action 里面不存很多的属性,而是用Model 层用到的模型,保存它的一个对象。相应提交方式可以用get 和post,如:testAction? resBananRc.name=admin(这是比较常用的)
- public class TestAction extends BaseAction{
- private static final long serialVersionUID = -7463970150000893325L;