Struts2的入门案例

第一步:创建一个WEB工程,引入相关jar包,struts2-blank.war是一个struts2的空工程,将其解压后,将其lib下的所有jar包拷入工程。

第二步:创建页面

在WebContent下创建两个jsp页面,分别为demo1.jsp和demo2.jsp。在demo1.jsp中编写一个访问Action的路径。

demo1.jsp:

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Struts2的入门案例</title>
</head>
<body>
	<h1>Struts2的入门案例</h1>
	<!-- 访问struts2的Action -->
	<a href="${pageContext.request.contextPath }/strutsDemo1.action">访问struts2的Action</a>
</body>
</html>

demo2.jsp:

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Struts2跳转页面</title>
</head>
<body>
	<h1>Struts2跳转页面成功</h1>
</body>
</html>

点击demo1.jsp中的a标签里面的链接,需要将请求提交到服务器中的Action,所以接下来要编写Action类。

第三步:编写一个Action类

package com.zju.action;

public class StrutsDemo1 {
	
	//创建一个默认的execute方法
	public String execute(){
		
		System.out.println("StrutsDemo1中的execute方法开始执行了");
		//"success"与struts.xml中配置的结果视图result里的name属性名一致
		return "success";
	}
}

Action类编写完成后,需要考虑一个问题,Struts2框架是如何识别Action类的呢?所有我们需要对Action类进行配置。

第四步:编写struts2的配置文件:struts.xml

在src下创建struts.xml。Struts2框架的核心配置文件就是struts.xml文件,该文件主要用来配置Action和请求之间的对应关系。Action映射就是将一个请求的URL映射到一个Action类,当一个请求匹配某个Action名称时,框架就使用这个映射来确定如何处理请求。

<?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="strutsDemo1" class="com.zju.action.StrutsDemo1">
			<!-- 配置result结果页面跳转 -->
			<result name="success">/demo2.jsp</result>
		</action>
	</package>    
</struts>

第五步:配置web.xml

Struts2框架要想执行,所有的请求都要都需要经过这个前端控制器(核心过滤器),所以要配置这个核心过滤器。

<?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_2_5.xsd"
	id="WebApp_ID" version="2.5">
	<display-name>struts2_0</display-name>
	
	<!-- 配置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>

</web-app>

第六步:部署项目

在Tomcat里发布项目,在浏览器里输入URL访问测试是否成功。



通过测试,入门案例成功!

总结一下Struts2的执行流程:

    从客户端发送请求过来,先经过前端控制器/核心过滤器(StrutsPrepareAndExecuteFilter),拦截器执行完成以后,就会执行目标Action,在Action中返回一个结果视图,根据Struts.xml中的Result配置的页面进行页面的跳转。

猜你喜欢

转载自blog.csdn.net/pcwl1206/article/details/80609747
今日推荐