版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
Struts2
什么是Struts2
- Struts2是一个基于MVC设计模式的WEB层框架。
- Struts2的内核相对于Struts1来讲已经发生巨大变化。
常见的web层框架
- Struts2
- Struts1
- Webwork
- SpringMVC
Web层框架基于前端控制器模型设计
Struts的入门
下载Struts2的开发环境
解压Struts2开发包
- apps :Struts2提供的应用,war文件:web项目打成war包。直接放入到tomcat可以允许。
- docs :Struts2的开发文档和API
- lib :Strtus2框架的开发的jar包
- src :Struts2的源码
创建web项目,引入jar包
- 引入jar包
- struts-blank项目下找jar包
- struts-blank项目下找jar包
创建一个jsp页面
<h1>Struts的入门</h1>
<h3><a href="${pageContext.request.contextPath }/hello.action">Struts的入门</a></h3>
编写Action的类
package struts2demo01;
/**
* Struts2的入门Action类
* @author Administrator
*
*/
public class HelloAction {
/**
* *提供一个方法
* *方法签名是固定的
* *公有的 返回值是String类型 方法名execute 在这个方法中不能传递参数
*/
public String execute() {
System.out.println("HelloAction执行了。。。");
return null;
}
}
对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>
<!-- Struts2为了管理Action的配置,通过包进行管理 -->
<!-- 配置Struts2的包 -->
<package name="demo01" extends="struts-default" namespace="/">
<!-- 配置Action -->
<action name="hello" class="struts2demo01.HelloAction">
</action>
</package>
</struts>
配置前端控制器(核心过滤器)
<!-- 配置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>
改写Action中的方法的返回值
package struts2demo01;
/**
* Struts2的入门Action类
* @author Administrator
*
*/
public class HelloAction {
/**
* *提供一个方法
* *方法签名是固定的
* *公有的 返回值是String类型 方法名execute 在这个方法中不能传递参数
*/
public String execute() {
System.out.println("HelloAction执行了。。。");
return "success";
}
}
改写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>
<!-- Struts2为了管理Action的配置,通过包进行管理 -->
<!-- 配置Struts2的包 -->
<package name="demo01" extends="struts-default" namespace="/">
<!-- 配置Action -->
<action name="hello" class="struts2demo01.HelloAction">
<!-- 配置页面的跳转 -->
<result name="success">/demo1/success.jsp</result>
</action>
</package>
</struts>
编写success.jsp
<%@ 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>
<h1>跳转成功页面</h1>
</body>
</html>