当你想开发一个Java Web应用程序时,一些的Java Web框架可以大大简化开发过程。其中,Struts2框架是一个非常流行的Java Web框架,这里为你提供Struts2框架入门的完整攻略。
Struts2框架入门
1. Struts2框架概述
Struts 2是一个Web框架,是基于MVC(模型视图控制器)设计模式的开源框架。它是Struts 1.x的升级版,也是一个轻量级的框架,它采用了WebWork框架的核心部分。
Struts2具有更好的性能、更好的扩展性、更好的文档、更少的代码量、更优美的结构和更用户友好的标签库。
2. Struts2框架特点
Struts2框架具有以下特点:
- 采用基于注解的方式配置Action;
- 具有更好的标签库支持;
- 支持Ajax,能够更好地与其他技术集成;
- 集成了OGNL表达式语言,替代了Struts1中使用的EL表达式;
- 同时支持Struts1的标签库。
3. Struts2框架入门实例
下面,我们将通过两个实例来展示如何使用Struts2框架开发Java Web应用程序。
3.1 实例一:Hello World
首先,我们通过Hello World示例来对Struts2框架有一个基本的了解。实现步骤:
- 新建一个Java Web项目,将Struts2框架应用到该项目中;
- 创建一个Action类,并在其中编写execute方法;
- 配置struts.xml文件中的action节点;
- 编写jsp页面。
1)新建一个Java Web项目
我们可以使用Eclipse或Idea等IDE来新建一个Java Web项目。在项目的web.xml文件中,添加Struts2的核心servlet。
<servlet>
<servlet-name>struts2</servlet-name>
<servlet-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>struts2</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
2)创建一个Action类
我们可以通过创建一个类继承ActionSupport,并重写execute()方法来创建一个Action类。
package com.example.action;
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorldAction extends ActionSupport {
private String message;
public String execute() throws Exception {
message = "Hello, Struts2!";
return SUCCESS;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
3)配置struts.xml文件
在struts.xml文件中,我们需要配置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" namespace="/" extends="struts-default">
<action name="helloWorldAction" class="com.example.action.HelloWorldAction">
<result name="success">/helloWorld.jsp</result>
</action>
</package>
</struts>
4)编写JSP页面
最后,我们编写一个简单的jsp页面来展示消息。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>HelloWorld</title>
</head>
<body>
<h1>${message}</h1>
</body>
</html>
在浏览器中输入URL,运行项目,便可看到Hello, Struts2!的输出。
3.2 实例二:用户注册
在这个示例中,我们将展示如何实现用户注册功能。实现步骤:
- 创建注册页面;
- 新建一个User类;
- 创建一个注册Action;
- 把注册信息存储到数据库中;
- 输出注册结果。
1)创建注册页面
首先,我们创建一个简单的注册页面,包括用户名、邮箱和密码。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>用户注册</title>
</head>
<body>
<h1>用户注册</h1>
<form action="${pageContext.request.contextPath}/register.action" method="post">
用户名:<input type="text" name="username" /><br/>
邮箱:<input type="text" name="email" /><br/>
密码:<input type="password" name="password" /><br/>
<input type="submit" value="注册" /><br/>
</form>
</body>
</html>
2)新建一个User类
用户注册需要创建一个User类,该类包含用户名、邮箱和密码等信息。
public class User {
private int id;
private String username;
private String email;
private String password;
// getter和setter方法
}
3)创建一个注册Action
我们可以创建一个RegisterAction类,在该类中编写register()方法来处理用户提交的注册信息。
public class RegisterAction extends ActionSupport {
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public String register() {
// 将注册信息保存到数据库中
return SUCCESS;
}
}
4)把注册信息存储到数据库中
我们可以使用JDBC或Hibernate等ORM框架来将注册信息存储到数据库中。
public String register() throws Exception {
// 获取数据库连接
Connection conn = DBUtils.getConnection();
//插入注册用户信息,具体实现可使用JDBC或hibernate等ORM框架
PreparedStatement pstmt = conn.prepareStatement("insert into user(username,email,password) values(?,?,?)");
pstmt.setString(1, user.getUsername());
pstmt.setString(2, user.getEmail());
pstmt.setString(3, user.getPassword());
pstmt.execute();
pstmt.close();
// 关闭数据库连接
DBUtils.closeConnection(conn);
return SUCCESS;
}
5)输出注册结果
最后,我们在注册完成后,通过跳转页面或弹出对话框等方式来提示用户注册结果。
例如,跳转到一个提示页面:
<result name="success">/registerSuccess.jsp</result>
registerSuccess.jsp页面输出:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>注册成功</title>
</head>
<body>
<h1>注册成功</h1>
<p>感谢您的注册,您的用户名是${user.username}。</p>
</body>
</html>
这样,我们就完成了一个简单的用户注册功能。
4. 总结
通过上述两个示例,我们对Struts2框架有了一个初步了解。Struts2框架不仅能够提高开发效率,还能够实现丰富的请求响应操作,适合用于中小型Java Web应用程序的开发。因此,在实际的Java Web开发中,Struts2框架是值得学习和使用的框架之一。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:struts2框架入门 - Python技术站