欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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
struts2的简单配置下载 full distribution
解压到指定的文件夹内
目录介绍
struts2的简单配置
apps 里面放的是struts 的例子
docs:该文件夹下包含struts2的相关文档
lib:包含该框架的核心类库,以及第三方类库
src:存放struts2框架的全部源码
新建一个动态web项目
配置web.xml web.xml在web-inf下
struts2的简单配置
导入架包
struts2的简单配置
配置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
struts2的简单配置
struts.xml配置在src下当项目项目部署到服务器上的时候
struts2的简单配置
文件下
配置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>