下面我将详细介绍“从搭建Struts2 开发环境说起”的完整攻略。
1. 安装Java环境
在使用 Struts2 开发前,首先需要安装 Java 开发环境。可以到官网下载并安装 JDK,这里我以 JDK 1.8 为例。
- 下载JDK 1.8安装包,并安装到你的电脑上。
- 配置JAVA_HOME环境变量,将JDK安装路径添加到PATH环境变量中,以便在命令行中可以使用Java和javac等相关命令。假设JDK安装在了C盘根目录下,则配置方式如下:
export JAVA_HOME=C:\Java\jdk1.8.0_281
export PATH=$JAVA_HOME\bin:$PATH
2. 安装开发工具
接下来,需要安装一个 Java 开发工具,这里我们推荐使用 Eclipse,Eclipse 是一款功能强大的开发工具,支持 Struts2 开发。以下是 Eclipse 的安装过程:
- 下载 Eclipse 安装包,解压到某个目录下。
- 运行 Eclipse,选择一个工作空间,这个工作空间将保存你编写的所有项目。
- 安装 Eclipse 的 Web 开发插件(选装),它将帮助开发者进行 Web 项目的开发,如组建 Struts2 项目等。
3. 下载 Struts2 框架
下载 Struts2 开发框架,你可以从 Struts2 官网下载最新版本,也可以在 Maven 项目中引入 struts-core 依赖,这里我们以下载方式为例。
- 访问 Struts2 下载页面,下载最新版本的 Struts2。
- 将下载的文件解压到某个目录下。
4. 新建 Struts2 项目
在 Eclipse 中新建一个 Struts2 项目:
- 打开 Eclipse,选择“File”->“New”->“Other”,打开“New Project” 窗口。
- 选择 “Struts2”->“Struts2 Project”。
- 输入项目名称,选择 Struts 版本和 JRE 版本,将 Struts2 核心库文件所在的目录指定为当前项目中的 lib 目录,点击 Finish。
现在,你就可以在 Eclipse 中开发和调试 Struts2 项目了。
5. 示例1:Hello World
下面,我们来编写一个简单的 Struts2 应用:Hello World。这个应用程序不需要任何数据库连接,只要能在浏览器中返回 “Hello World!”,就算是成功了。
- 创建
helloworld.jsp
文件,存放在 webapp 目录下,内容如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<h2>${message}</h2>
</body>
</html>
- 创建
HelloWorld.java
文件,存放在 src 目录下,内容如下:
package com.example;
public class HelloWorld {
private String message;
public String execute() {
setMessage("Hello World!");
return "success";
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
- 在 struts.xml 文件中配置 HelloWorld 的 Action,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<package name="default" extends="struts-default">
<action name="hello" class="com.example.HelloWorld">
<result name="success">/helloworld.jsp</result>
</action>
</package>
</struts>
- 启动你的项目,访问
http://localhost:8080/你的项目名/hello.action
,就可以看到浏览器中返回的 “Hello World!” 了。
6. 示例2:登录页面
下面,我将为你介绍一个更为复杂的 Struts2 应用:登录页面。这个应用程序需要一个数据库连接,用于验证用户输入的账号和密码是否正确。在这个示例中,我使用 MySQL 数据库作为示范。
- 首先,需要创建一个数据库,并创建一个 users 表,用于存储用户账号密码等信息。SQL 语句如下:
CREATE TABLE users (
id INT auto_increment PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL
);
- 创建
login.jsp
文件用于输入账号密码,存放在 webapp 目录下,内容如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登录页面</title>
</head>
<body>
<form action="login.do" method="post">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="登录"></td>
</tr>
</table>
</form>
</body>
</html>
- 创建
LoginAction.java
,用于处理登录请求和验证用户身份,存放在 src 目录下,内容如下:
package com.example;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class LoginAction {
private String username;
private String password;
private String message;
public String execute() throws Exception {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "123456");
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT * FROM users WHERE username='" + username + "' AND password='" + password + "'");
if (rs.next()) {
setMessage("登录成功!");
return "success";
} else {
setMessage("用户名或密码错误!");
return "error";
}
} catch (Exception e) {
e.printStackTrace();
setMessage(e.getMessage());
return "error";
} finally {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (conn != null) conn.close();
}
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
- 在 struts.xml 文件中配置 LoginAction 的 Action,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<package name="default" extends="struts-default">
<action name="login" class="com.example.LoginAction">
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>
- 创建
success.jsp
文件,用于显示登录成功信息,存放在 webapp 目录下,内容如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登录成功</title>
</head>
<body>
<h2>${message}</h2>
</body>
</html>
- 创建
error.jsp
文件,用于显示登录失败信息,存放在 webapp 目录下,内容如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登录失败</title>
</head>
<body>
<h2>${message}</h2>
<a href="login.jsp">返回</a>
</body>
</html>
- 启动你的项目,访问
http://localhost:8080/你的项目名/login.jsp
,输入正确的账号和密码,就可以看到浏览器中返回的 “登录成功!”,否则会返回 “用户名或密码错误!”。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:从搭建Struts2 开发环境说起 - Python技术站