基本的Web应用文件结构
struts2qs
|-WEB-INF
| |-classes
| |-lib
| |-web.xml
|-login.jsp
为Web应用增加Struts2功能:
1.修改web.xml文件,在web.xml文件中配置Struts2的核心Filter.
2.将Struts2框架的类库复制到Web应用的WEB-INF/lib路径下.
3.在WEB-INF/classes下增加struts.xml配置文件.
struts2qs
|-WEB-INF
| |-classes (struts.xml)
| |-lib(struts2-core.jar,xwork-core.jar,ognl.jar,commons-io.jar,freemarker.jar)
| |-web.xml
|-login.jsp
|-welcome.jsp
|-error.jsp
MVC框架的核心是控制器
属性驱动就是使用类的多个属性封装用户的请求参数.
由Struts2的拦截器负责解析用户的请求参数,并将请求参数值赋给Action对应的属性.
struts.xml配置:
<?xml version="1.0" encoding="UTF-8" ?> <!-- 指定Struts2配置文件的DTD信息 --> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <!-- struts是Struts2配置文件的根元素 --> <struts> <constant name="struts.devMode" value="true" /> <!-- Struts2的Action必须在指定的包空间下定义 --> <package name="default" namespace="/" extends="struts-default"> <!-- 定义login的Action,该Action的实现类为 com.itheima.action.LoginAction 类 --> <action name="login" class="com.itheima.action.LoginAction" method="login"> <!-- 定义处理结果与资源之间映射关系 --> <result name="success">/success.jsp</result> <result name="fail">/fail.jsp</result> </action> </package> </struts>
上面映射定义了name为login的Action,即,该Action负责处理向login.action请求的客户端请求,该Action调用自身的login方法处理用户请求.如果login方法返回success字符串,请求将被转发到/success.jsp页面,如果login方法返回fail字符串,则请求将被转发到/fail.jsp页面