Struts2——1.创建Struts项目

	

步骤

具体为以下几个步骤:

  1. 引入Struts2 框架所需运行库文件

  2. 创建并配置web.xml文件

  3. 创建一个Action

  4. 创建并配置struts.xml文件

jar包


web.xml

web.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/javaee"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	id="WebApp_ID" version="3.0">
	
	<display-name>Struts01</display-name>
	<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>
	
</web-app>

此处过滤了所有的访问路径。当然,也可以设置为仅过滤actionjsp文件。

2.5版本后,支持多个url-pattern

	<url-pattern>*.action</url-pattern>
	<url-pattern>*.jsp</url-pattern>


ACTION类

需求分析:(此处使用的是简单的ACTION类,其他常用方式,下文再说明)

1.Struts2直接使用Action来封装HTTP请求参数,因此Action类应该包含与请求相对应的属性,并为该属性提供对应的settergetter方法。

2.Action类里增加一个execute方法,因为Struts2框架默认会执行这个方法。这个方法本身并不做业务逻辑处理,而是调用其他业务逻辑组件完成这部分工作。

3.Action类返回一个标准的字符串,该字符串是一个逻辑视图名,该视图名对应实际的物理视图。

public class UserAction {

	private String username;

	public String execute() {
		if (username != null && !username.isEmpty()) {
			return "success";
		}
		return "error";
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

}


struts.xml

Struts2的核心配置文件,放在src目录下。

<?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>

    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />

    <package name="default" namespace="/" extends="struts-default">
		<action name="userAction" class="com.zhidisoft.action.UserAction">
			<result name="success">/success.jsp</result>
			<result name="error">/error.jsp</result>
		</action>
    </package>
</struts>

注意:

action标签中定义了nameclassname属性对应的是用户URL请求中的action名,比如在本应用中,用户请求为http://localhost:8080/Struts2/userAction.action,那么name属性就应该为userActionclass属性是处理请求的实现类(注意:要包含完整路径),本应用的实现类是com.zhidisoft.action.UserAction

result标签定义逻辑视图和物理视图之间的映射,在我们的Action中,如果返回的字符串是"success”则由对应的success.jsp页面进行处理;如果返回的字符串是"error”则由error.jsp页面进行处理。


编写前端界面:

首页 index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML>
<html>
<head>
<title>首页</title>
</head>
<body>
	<form action="userAction.action" method="post">
		<input type="text" placeholder="请输入用户名 " name="username">
		<button type="submit">登录</button>
	</form>
</body>
</html>

 

登录成功页面  success.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML >
<html>
	<head>
		<title>登录成功</title>
	</head>
	<body>	${username},欢迎回来。
	</body>
</html>

登录失败页面 error.jsp


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML>
<html>
	<head>
		<title>登录失败</title>
	</head>
	<body>用户名没有输入。
	</body>
</html>





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值