struts2的简单配置
程序员文章站
2022-06-25 12:10:06
...
一、struts2简介
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。
二、struts2的配置
1、去百度官网下载struts2
下载 full distribution
解压到指定的文件夹内
目录介绍
apps 里面放的是struts 的例子
docs:该文件夹下包含struts2的相关文档
lib:包含该框架的核心类库,以及第三方类库
src:存放struts2框架的全部源码
新建一个动态web项目
配置web.xml web.xml在web-inf下
导入架包
配置xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:web="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd http://xmlns.jcp.org/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="starter" version="2.4">
<filter>
<filter-name>action2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>action2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
配置过滤器过滤全部请求,把请求都交给struts框架处理
配置struts.xml
struts.xml配置在src下当项目项目部署到服务器上的时候
文件下
配置struts.xml文件
三、设置实体类
package word;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class Login extends ActionSupport{
/**
* 用来判断用户登录是否成功,成功返回
*
*/
private static final long serialVersionUID = -1125537566325465785L;
private String name;
private String pass;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
@Override
public String execute() throws Exception {
if(getName().equals("胥健康")&&getPass().equals("123456")) {
ActionContext.getContext().getSession().put("user", getName());//创建session把getName的值保存到session中
return SUCCESS;
}
return ERROR;
}
}
四、前端页面的编写
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<center>
<form action="Login" method="get">
用户名:<input name="name" type="text" ><br/>
密码:<input name="pass" type="password">
<input type="submit" value="登录">
</form>
</center>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h3>登录成功欢迎你${user}</h3>
<!-- 用el表达式取出用户名字 -->
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h3>登失败,请重新登录</h3>
</body>
</html>
推荐阅读