Struts2入门攻略
Struts2是一个基于MVC架构的Web应用程序开发框架。本攻略将介绍如何搭建Struts2开发环境、配置Struts2框架并开发示例项目。
环境搭建
首先,我们需要准备好开发环境:
- JDK:Java开发工具包,下载地址:https://www.oracle.com/technetwork/java/javase/downloads/
- Eclipse:Java开发IDE,下载地址:https://www.eclipse.org/downloads/
- Tomcat:Servlet容器,下载地址:https://tomcat.apache.org/download-80.cgi
- Struts2压缩包,下载地址:https://struts.apache.org/download.cgi#struts-lgpl
接下来,我们需要进行一些配置:
- 将Tomcat解压到本地,并配置Tomcat的路径到Eclipse的“Servers”选项卡
- 将Struts2压缩包解压到Eclipse的“WebContent/WEB-INF/lib”目录中(如果没有这个目录,可以在项目中创建)
至此,我们的环境就已经搭建好了。
Struts2配置
Struts2的配置主要包括:
- 创建Struts2配置文件(struts.xml)
- 在web.xml中添加Struts2的过滤器
创建Struts2配置文件
在项目的“src”目录下,创建一个名为“struts.xml”的文件,并写入以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="default" extends="struts-default">
<action name="hello" class="com.example.HelloWorldAction">
<result name="success">/hello.jsp</result>
</action>
</package>
</struts>
其中,<struts>
元素包含了一个或多个<package>
元素,每个<package>
元素包含了一个或多个<action>
元素。每个<action>
元素指定了一个类和一个结果(result)。
配置web.xml
在项目的“WebContent/WEB-INF”目录下,打开web.xml文件,并添加以下内容:
<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>
这段代码添加了一个名为“struts2”的过滤器,用于拦截请求并执行相应的Struts2动作。
示例项目
我们将创建一个名为“HelloWorld”的示例项目,介绍Struts2的基本概念和用法。
创建Java类
在项目的“src”目录下,创建一个名为“HelloWorldAction.java”的Java类,并写入以下内容:
package com.example;
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorldAction extends ActionSupport {
@Override
public String execute() throws Exception {
return SUCCESS;
}
}
此类继承了ActionSupport
类,其execute()
方法返回SUCCESS
常量表示成功。
创建JSP页面
在项目的“WebContent”目录下,创建一个名为“hello.jsp”的JSP页面,并写入以下内容:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello World!</title>
</head>
<body>
<h1>${text}</h1>
</body>
</html>
运行示例
现在,我们就可以启动Tomcat服务器,并在浏览器中访问http://localhost:8080/HelloWorld/hello.action
来查看“Hello World!”页面了。
另一个示例
我们将创建一个名为“Calculator”的示例项目,介绍Struts2操作表单和参数的用法。
创建Java类
在项目的“src”目录下,创建一个名为“CalculatorAction.java”的Java类,并写入以下内容:
package com.example;
import com.opensymphony.xwork2.ActionSupport;
public class CalculatorAction extends ActionSupport {
private int number1;
private int number2;
private int result;
public int getNumber1() {
return number1;
}
public void setNumber1(int number1) {
this.number1 = number1;
}
public int getNumber2() {
return number2;
}
public void setNumber2(int number2) {
this.number2 = number2;
}
public int getResult() {
return result;
}
public void setResult(int result) {
this.result = result;
}
@Override
public String execute() throws Exception {
result = number1 + number2;
return SUCCESS;
}
}
此类包含了三个属性:number1
、number2
和result
,以及getProperty
和setProperty
方法。其execute()
方法从请求参数中获取number1
和number2
的值,并将它们相加后赋值给result
。
创建JSP页面
在项目的“WebContent”目录下,创建一个名为“calculator.jsp”的JSP页面,并写入以下内容:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Calculator</title>
</head>
<body>
<h1>Calculator</h1>
<form action="calculator.action" method="post">
Number 1: <input type="text" name="number1" value="0" /><br />
Number 2: <input type="text" name="number2" value="0" /><br />
<input type="submit" value="Calculate" />
</form>
<p>Result: ${result}</p>
</body>
</html>
此页面包含了一个表单,其中有两个输入框表示number1
和number2
,以及一个提交按钮。在表单提交后,将显示result
的值。
运行示例
现在,我们就可以启动Tomcat服务器,并在浏览器中访问http://localhost:8080/Calculator/calculator.jsp
来查看“Calculator”页面了。
在表单中输入两个数,点击提交按钮后,将在页面上显示它们的和。
总结
通过本攻略,我们学习了如何搭建Struts2开发环境、配置Struts2框架并开发示例项目。Struts2是一个功能强大的Web应用程序开发框架,我们可以用它来开发复杂的Web应用程序。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:struts2入门(搭建环境、配置、示例)详解 - Python技术站