struts2的学习与使用(一)
@author QinJingxuan
struts2简介
struts2就是基于MVC模式的轻量级开发框架,对servlet技术的封装
MVC模式:
M: Model 模型。使用JavaBean技术,对业务数据进行封装
V : View 视图。使用jsp技术,对业务数据显示。
C : Control 控制器。使用servlet技术
struts2开发步骤
struts2实例——
创建一个简单的struts2应用程序实现登陆功能
1、创建web工程导入相关jar包
struts2开发中有很多jar包,我们这里介绍基础使用的9个相关jar包
文件名 | 说明 |
---|---|
commons-beanutils-1.8.0.jar | Bean处理工具类包 |
commons-fileupload-1.3.1.jar | struts2文件上传组件依赖包 |
commons-io-2.0.1.jar | struts2的输入输出,穿文件依赖的包 |
commons-lang-2.4.jar | 包含一些数据类型工具,是对java.lang包的增强 |
freemarker-2.3.19.jar | struts2标签模板使用的类库 |
javassist-3.11.0.GA.jar | javaScript字节码解释器 |
ognl-3.0.5.jar | Object-Graph Navigation Language,表达式语言,用来获取和设置Java对象属性 |
struts2-core-2.3.4.1.jar | struts2框架的核心类库 |
xwork-core-2.3.4.1.jar | WebWork核心库,Struts2的构建基础 |
2、配置struts2核心过滤器
在WebRoot下WEB-INF的目录下找到web.xml进行配置
<!-- 配置struts2核心过滤器 -->
<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>
</filter-mapping>
对于filter-class的配置:
可以在Referenced Libraries中 找到
struts2-core.jar/org.apache.struts2/dispatcher/ng/filter/StrutsPrepareAndExecuteFilter
右击选择Copy Qualified Name 复制过来去掉后缀的.class即可
3、新建jsp页面
在WebRoot/jsp/demo1下
新建login.jsp文件
<body>
<form action="${pageContext.request.contextPath }/LoginAction.action " method="post">
用户名:<input type="text" name="username"/><br/>
密码:<input type="password" name="userpassword"><br/>
<input type="submit" value="登陆">
</form>
</body>
新建success.jsp文件
<body>
登陆成功 <br>
</body>
新建error.jsp文件
<body>
登陆失败 <br>
</body>
4、新建action文件
在src下创建一个demo1包,在该包下新建一个LoginAction类,在类中编写一个公有的,返回值为String类型的方法,方法名为execute,且该方法没有任何参数。
package demo1;
public class LoginAction {
private String username; // 姓名
private String userpassword; // 密码
/**
* 提供一个默认的执行方法:execute
*/
public String execute(){
if (username.equals("admin") && userpassword.equals("admin")) {
return "success";
}
return "error";
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getUserpassword() {
return userpassword;
}
public void setUserpassword(String userpassword) {
this.userpassword = userpassword;
}
}
5、配置aciton
在src下新建一个struts.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信息 -->
<package name="demo1" extends="struts-default" namespace="/">
<!-- 配置Action -->
<action name="LoginAction" class="demo1.LoginAction">
<!-- 配置结果页面 -->
<result name="success">/jsp/demo1/success.jsp</result>
<result name="error">/jsp/demo1/error.jsp</result>
</action>
</package>
</struts>
运行结果
输入该本地路径:http://localhost:8080/struts_day01/jsp/demo1/login.jsp
填写用户名和密码,均为admin
登陆成功