Struts2框架初学接触攻略
简介
Struts2是一款基于MVC设计模式的Web应用框架,可以帮助开发者快速创建可维护、可扩展的Web应用程序。使用Struts2可以将应用程序的业务逻辑与表示层(视图)分离,使得程序更易于维护和扩展。本文将为初学者介绍如何使用Struts2开发Web应用程序。
步骤
以下是使用Struts2框架开发Web应用程序的步骤:
步骤1:环境搭建
- 下载Struts2框架,并解压到指定目录。
- 配置Web服务器(如Tomcat)和访问路径。
- 在Web应用程序的WEB-INF/lib目录中添加Struts2依赖库。
步骤2:创建Action类
Action类是Struts2框架中处理请求的核心类。在Action类中,可以调用具体的业务逻辑代码,处理完请求后,可以将结果返回给前端页面。
例如,我们创建一个名为LoginAction的Action类,处理用户登录请求。
public class LoginAction {
private String username;
private String password;
public String execute() {
// 处理登录请求的业务逻辑代码
if (username.equals("admin") && password.equals("admin")) {
return "success";
} else {
return "error";
}
}
// getter和setter方法
}
步骤3:创建视图文件
视图文件是前端页面,用于展示Action类处理完请求后的结果。视图文件通常使用JSP或Freemarker等模板引擎进行开发。
例如,我们创建一个名为login.jsp的JSP文件,用于展示登录页面和处理登录请求的结果:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
<%
if (request.getAttribute("result").equals("success")) {
%>
<p>登录成功</p>
<%
} else {
%>
<form action="login.action" method="post">
<label for="username">用户名:</label>
<input type="text" name="username" id="username"><br>
<label for="password">密码:</label>
<input type="password" name="password" id="password"><br>
<input type="submit" value="登录">
</form>
<%
}
%>
</body>
</html>
步骤4:配置struts.xml文件
struts.xml文件是Struts2框架的核心配置文件,用于指定使用的Action类、视图文件和请求URL的映射关系。
例如,我们在struts.xml文件中添加以下配置:
<struts>
<package name="default" extends="struts-default">
<action name="login" class="com.example.LoginAction">
<result name="success">/success.jsp</result>
<result name="error">/login.jsp</result>
</action>
</package>
</struts>
上述配置中,我们将请求URL为/login的请求映射到LoginAction类,并指定成功和失败时的视图文件。
步骤5:启动应用程序
现在,我们可以启动Web应用程序,并访问URL为/login的页面。在页面中输入正确的用户名和密码,点击登录按钮后,将跳转到成功页面;否则将回到登录页面。
示例
以下是两个简单的示例:
示例1:使用Struts2实现加法计算
首先,我们创建一个名为CalcAction的Action类,处理加法计算请求。
public class CalcAction {
private int x;
private int y;
private int result;
public String add() {
// 处理加法计算请求的业务逻辑代码
result = x + y;
return "success";
}
// getter和setter方法
}
然后,我们创建一个名为calc.jsp的JSP文件,用于展示计算页面和处理加法计算请求的结果:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>加法计算</title>
</head>
<body>
<%
if (request.getAttribute("result") != null) {
%>
<p>计算结果为:<%= request.getAttribute("result") %></p>
<%
}
%>
<form action="calc.action" method="post">
<label for="x">加数1:</label>
<input type="text" name="x" id="x"><br>
<label for="y">加数2:</label>
<input type="text" name="y" id="y"><br>
<input type="submit" value="计算">
</form>
</body>
</html>
最后,在struts.xml文件中添加以下配置:
<struts>
<package name="default" extends="struts-default">
<action name="calc" class="com.example.CalcAction" method="add">
<result name="success">/calc.jsp</result>
</action>
</package>
</struts>
我们可以启动Web应用程序,并访问URL为/calc的页面进行加法计算。
示例2:使用Struts2实现文件上传
首先,我们创建一个名为FileAction的Action类,处理文件上传请求。
public class FileAction {
private File file;
private String fileContentType;
private String fileFileName;
public String upload() {
// 处理文件上传请求的业务逻辑代码
return "success";
}
// getter和setter方法
}
然后,我们创建一个名为file.jsp的JSP文件,用于展示文件上传页面和处理文件上传请求的结果:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>文件上传</title>
</head>
<body>
<%
if (request.getAttribute("result") != null) {
%>
<p>上传成功</p>
<%
}
%>
<form action="file.action" method="post" enctype="multipart/form-data">
<label for="file">请选择要上传的文件:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" value="上传">
</form>
</body>
</html>
最后,在struts.xml文件中添加以下配置:
<struts>
<package name="default" extends="struts-default">
<action name="file" class="com.example.FileAction" method="upload">
<result name="success">/file.jsp</result>
</action>
</package>
</struts>
我们可以启动Web应用程序,并访问URL为/file的页面进行文件上传。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Struts2框架初学接触 - Python技术站