struts2重点、精华、用法总结(一)

一、MVC模式

1.概念
M ( model ) : 是指数据以及操作数据的逻辑
V ( view ) : 是指数据的展现方式
C ( controller ) : 用于控制应用程序的流程,在模型和视图之间起到桥梁的作用

实际项目中的MVC的对应:
m –> entity包和 service包及以下
v –> jsp
c –> servlet :相当于m 和 v 之间的桥梁,负责请求参数、调用业务逻辑、接受处理后的结果集、转发至v层。

2.MVC的优点
(1)复用性:多个试图能共享一个模型,同一个模型可以被不同的试图重用,大大提高了代码的可重用性。
(2)解耦:三层分离解耦,各层独立性强,改变其中一层不需改变另一层。

二、Struts2

1.框架的意义:
(1)提供基础、通用的操作,让程序员不必从头开发,提高开发效率
(2)让程序员的代码更为规范,必须按照框架的规范来编写代码,提高代码的可读性及可维护性

2.Struts2简介
Struts2是一个是实现了MVC模式的框架,他从另外两个MVC框架Strus和WebWork发展而来,并集成了两个框架的优点。

三、使用

1.导入jar包
2.配置前端控制器StrutsPrepareAndExecuteFilter
前控制器的主要作用是提供一个统一入口,所有请求都先经过前控制器,由他再做进一步的分发处理。
步骤:
打开web.xml文件添加如下配置:

<filter>
    <filter-name>struts2</filter-name>
    <filter-class>
    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    </filter-class>
</filter>
<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
</filer-mapping>

3.编写后控制器Action类(替代servlet)
创建Action类,Action类就是一个POJO(Plain Old Java Object(简单的java类))
Action类需要有一个无参构造方法,控制器方法的名字任意,但不能带参数,且返回值类型必须为String。
实例:

public class FirstAction{
    public String fa(){
        System.out.println(“进入了控制器方法”);
        return null;
    }
}

4.配置Action类,编写src / struts.xml
配置文件的名字和位置需要是固定的 :src/struts.xml ,对大小写有要求
可以使用me xml文件创建想到来创建它
配置文件格式如下:

<?xml version=”1.0” encoding=”UTF-8” ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <package name=”包名” extends = “struts-defaultnamespace = ”/模块名”>
        <action name = “访问时url名” class = “Action的全限定名” method = “将要执行的方法名”></action>
    </package>
</struts>

配置文件各属性意义:
package标签:
package:配置文件的包,便于对大量的配置文件进行管理
name:自己定义的包的名字
action标签:
name:相当于servlet配置文件中的url-pattern

5.配置视图
控制器方法的返回值的含义,他代表了视图的名字,配置参考模板如下:

<?xml version=”1.0” encoding=”UTF-8” ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <package name=”包名” extends = “struts-defaultnamespace = ”/模块名”>
        <action name = “访问时url名” class = “Action的全限定名” method = “将要执行的方法名”>
            <result name=”success”>/index.jsp</result>
            <result name=”error”>/error.jsp</result>
        </action>
    </package>
</struts>

标签含义:
name:视图名,与action中控制器方法返回的字符串对应

6.接受请求参数
方法一:使用原始的HttpServletRequest对象来获取请求参数(看看就行 别用)
HttpServletRequest request = ServletActionContext.getRequest();
request.getParameter(“请求参数名”);

方法二:使用Action的属性来接收参数
Action属性名与请求参数名相同,切提供get set方法(大小写敏感)
验证求情参数食欲set方法对应而不是属性名
尽量使用包装类可以接受NULL
Action的属性类型设置为需要的类型,struts2可以对其进行自动转换

7.内置对象的使用
application对象:

ServletContext context = ServletActionContext.getServletContext();
ActionContext.getContext().getApplication().put(“key”,value);

request对象:

HttpServletRequestrequest=ServletActionContext.getServletContext().getRequesrt();
ActionContext.getContext().getRequest().put(“key”,value);

session对象:

HttpSession session= ServletActionContext.getServletContext().getSession();
ActionContext.getContext().getSession.put(“key”,value);

四、小技巧

struts的配置文件struts.xml的声明部分可以通过此方式找到:
1.解压jar包:struts2-core-2.3.16.3.jar
2.打开文件夹,找根目录下找到struts-2.3.dtd这个文件,用记事本或类似工具打开(我用的notepad++)
3.找到<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
粘到配置文件中

注:转载请注明出处http://blog.csdn.net/edwinbalance

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值