TA的每日心情 | 开心 2021-3-12 23:18 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
1,添加strust2.x支持:
MyEclipse 5.5 GA没有集成struts 2的开发,可以使用struts 2的热部署方式注册插件:
1>添加struts2所依赖的包:
antlr-2.7.2.jar
commons-beanutils-1.6.jar
commons-chain-1.1.jar
commons-collections-3.1.jar
commons-digester-1.6.jar
commons-fileupload-1.1.1.jar
commons-io-1.1.jar
commons-logging-1.0.4.jar
commons-logging-api-1.1.jar
commons-validator-1.3.0.jar
freemarker-2.3.8.jar
jsonplugin-0.25.jar
ognl-2.6.11.jar
oro-2.0.8.jar
struts2-codebehind-plugin-2.0.11.1.jar
struts2-config-browser-plugin-2.0.11.1.jar
struts2-jasperreports-plugin-2.0.11.1.jar
struts2-jfreechart-plugin-2.0.11.1.jar
struts2-pell-multipart-plugin-2.0.11.1.jar
struts2-struts1-plugin-2.0.11.1.jar
struts2-tiles-plugin-2.0.11.1.jar
tiles-api-2.0.4.jar
tiles-core-2.0.4.jar
tiles-jsp-2.0.4.jar
xwork-2.0.4.jar
struts-core-1.3.5.jar
struts2-core-2.0.11.1.jar
xalan.jar
2>添加配置文件
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"struts-2.0.dtd">
<struts>
<package name="main" extends="struts-default"><!-- 定义一个package -->
</package>
</struts>
2,以实现登录为例来实现struts2
1>在web.xml中配置,struts2使用Filter作为分发器:
<filter>
<filter-name>struts</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
<init-param>
<param-name>struts.action.extension</param-name>
<param-value>action</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2>登录功能Action
public class LoginAction extends ActionSupport {
private String account;
private String password;
public String execute(){
if("zhangjie".equalsIgnoreCase(account) && "zhangjie".equals(password)){
return SUCCESS; //返回登录成功
}
return LOGIN; //否则返回登录页面
}
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
3>在struts.xml中配置,配置文件的默认位置为/WEB-INF/classes/struts.xml。可以将struts.xml放到MyEclipse项目的src文件夹下。
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"struts-2.0.dtd">
<struts>
<package name="main" extends="struts-default"><!-- 定义一个package -->
<global-results>
<result name="login">/login.jsp</result> <!-- 所有的全局result -->
</global-results>
<action name="loginPerson" class="com.zhangjie.struts2.action.LoginAction">
<result name="success">/success.jsp</result> <!-- result -->
</action>
</package>
</struts>
4>JSP登录页面:
<struts:form action="/loginPerson.action"> <!-- FORM表单 -->
<struts:label value="登录系统"></struts:label>
<struts:textfield name="account" label="账号"></struts:textfield>
<struts:password name="password" label="密码"></struts:password>
<struts:submit value="登录"></struts:submit> <!-- 提交按钮 -->
</struts:form>
5>登录成功的页面,显示页面:
登录成功,欢迎你,<struts:property value="account"/>
3,struts 2工作流程:
访问JSP页面 /struts2/login.jsp
->
提交表单后数据提交给 /struts/loginPerson.action
->
struts截获所有请求,包括*.action的请求
->
查找 struts.xml,loginPerson.action对应LoginAction
->
生成一个LoginAction实例,将提交的数据设置到该实例中
->
调用 LoginAction 实例的execute()主方法
->
跳转到 JSP中显示结果,丢掉该LoginAction 实例
|
|