struts2开发入门
下载struts2 压缩包
要使用struts2,首先要从Apache Software Foundation的网站上下载strtus2的开发包。
Struts2的下载地址为: http://struts.apache.org/download.cgi
本文选择是Struts 2.3.16版本的压缩包。下载struts2的完整版Full Distribution。
开发最经常用到的是lib文件夹下面的一些.jar文件,一般struts项目必需的.jar文件是:
Commons-logging-1.0.4.jar
Freemarker-2.3.8.jar
Ognl-2.6.11.jar
Struts2-core-2.0.14.jar
Xwork-2.0.7.jar
在Myeclipse中添加struts2
在Myeclipse中创建一个Web project,工程名称为Hello。
把struts-2.3.15.1\apps\struts2-blank\WEB-INF\lib下面jar包放到Hello\WebRoot\WEB-INF\lib中。
配置web.xml文件
Struts2框架是基于MVC模式开发的,它提供了一个核心控制器,用于对所有的请求进行了统一处理,这个控制器是由一个名为FilterDispatcher的Servlet过滤器来充当的。你需要在web.xml文件中配置FilterDispatcher过滤器,指定要映射到FilterDispatcher的URL样式,匹配这个URL样式的所有请求,都将被web容器交由FilterDispatcher进行处理。Web.xml就是在项目中先配置一个FilterDispatcher,拦截.jsp、.vm的请求,然后寻求相应的Action去执行。本工程的web.xml配置文件定义如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<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>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
配置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>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<package name="default" namespace="/" extends="struts-default">
<action name="Hello" class="tutorial.Hello">
<result>/Hello.jsp</result>
</action>
</package>
</struts>
创建Action类的Hello.java
package tutorial;
import com.opensymphony.xwork2.ActionSupport;
/**
* struts2 action
* @author binzi ruibinji@163.com
* @version 1.0 2014/02/08
*/
public class Hello extends ActionSupport {
public static final String MESSAGE="Hello,Struts is running...";
private String message;
public String execute() throws Exception{
setMessage(MESSAGE);
return SUCCESS;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
新建视图文件
选中”WebRoot”,单击右键,新建jsp文件”Hello.jsp”,修改对应的代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%
String path = request.getContextPath();
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Hello struts2</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<h2><s:property value="message"/></h2>
</body>
</html>
发布运行
工程完成后,重新启动Tomcat服务器,在浏览器中输入:
http://127.0.0.1:8080/Hello/Hello
效果如下:
备注
参考<<基于struts、Hibernate、Spring架构的Web应用开发>>
第3章 Struts2开发入门。
第3章 Struts2开发入门。