Struts2开发环境搭建 附简单登录功能实例
开发环境要求
首先,我们需要准备好以下开发环境:
- Java JDK 1.7或者更高版本
- Apache Tomcat 7或者更高版本
- Eclipse IDE 或者其他Java集成开发环境
下载安装Tomcat
下载Tomcat
在Apache Tomcat的官网上,我们可以选择合适的版本进行下载和安装。一般来说,我们会选择最新版本的Tomcat,点击下载链接即可。
安装Tomcat
下载完毕后,我们将Tomcat文件解压缩到一个文件夹中。接着,我们进入Apache Tomcat的bin目录中,执行startup.bat或者startup.sh命令,启动Tomcat服务器。如果一切顺利,我们应该能在浏览器中访问http://localhost:8080
,看到Tomcat的欢迎页面。
Eclipse中配置Tomcat支持
安装Eclipse
首先,我们需要在Eclipse官网上下载Eclipse IDE for Java EE Developers。下载完成后,我们可以通过双击压缩包中的eclipse.exe(windows系统)或者eclipse文件(Linux或macOS系统)启动Eclipse。
安装Tomcat Server插件
为了在Eclipse中能够方便地管理Tomcat服务器,我们需要安装Tomcat Server插件。
在Eclipse打开Help > Eclipse Marketplace,在搜索框中输入“Tomcat”,点击Go后,我们会看到一系列的Tomcat插件。我们选择最受欢迎的一个,如 Tomcat Plugin for Eclipse ,点击Install安装。
注意,安装过程中可能需要选择所需的Eclipse版本和路径。
在Eclipse中配置Tomcat服务器
安装完Tomcat插件后,我们需要在Eclipse中配置Tomcat服务器。
打开Eclipse,依次选择Window > Preferences > Server > Runtime Environments,在“Add”中选择合适的Tomcat版本,如Tomcat 8,然后点击Next。接着,我们在“Tomcat installation directory”中选择Tomcat的安装路径,然后点击Finish完成Tomcat的配置。
现在,我们已经成功地在Eclipse中配置了Tomcat服务器支持。接下来,我们可以创建一个Web应用程序并将其部署到Tomcat服务器中。
创建Struts2 Web应用程序
创建Web应用程序
在Eclipse中创建一个新的Web项目,依次选择File > New > Other > Web > Dynamic Web Project,在对话框中输入项目名称,如“Struts2Demo”,然后关闭对话框。
接着,我们需要在新建的项目中添加Struts2支持。依次选择File > New > Other > Web > Struts2 > Struts2 Project > Next,在对话框中将Struts2版本设置为最新版本,输入包名(通常为com)和命名空间。选择Finish,等待项目创建完成。
添加Struts2库和配置文件
在刚创建的Struts2项目中,我们需要添加Struts2库和配置文件。具体来说,我们需要将struts2-core.jar和struts2-convention-plugin.jar添加到项目的classpath中,并将struts.xml的配置文件复制到项目的src/main/resources目录。
在Eclipse中,我们可以依次选择Project Properties > Java Build Path > Libraries > Add JARs...,然后添加struts2-core.jar和struts2-convention-plugin.jar这两个jar包。接下来,我们需要在src/main/resources目录中创建一个名为struts.xml的文件,并复制以下内容:
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<package name="default" namespace="/" extends="struts-default">
<action name="login" class="com.struts2.example.action.LoginAction">
<result name="success">/pages/index.jsp</result>
<result name="login">/pages/login.jsp</result>
</action>
<action name="logout" class="com.struts2.example.action.LoginAction" method="logout">
<result name="success">/pages/login.jsp</result>
</action>
</package>
</struts>
其中,上面的配置中定义了两个action,一个是用户登录(login),一个是用户登出(logout)。类名为com.struts2.example.action.LoginAction
,分别映射到/pages/index.jsp
和/pages/login.jsp
页面。
创建登录功能示例
创建JSP文件
现在,我们来创建一个JSP页面,用于显示登录表单。在Web项目的WebContent目录下,创建一个名为“pages”的子文件夹,并创建一个名为“login.jsp”的文件。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登录页面</title>
</head>
<body>
<form action="login.action" method="post">
<p>用户名:<input type="text" name="username"/></p>
<p>密码:<input type="password" name="password"/></p>
<p><input type="submit" value="登录"/></p>
</form>
</body>
</html>
这个JSP页面只是简单地包含了一个表单,提交到“login.action”这个Struts2的Action,将用户名和密码传递过去。
创建Action类
现在,我们需要在项目中创建对应的Action类,用于处理用户的输入并返回结果。在刚才创建的Struts2项目的src/main/java目录下,创建一个名为“com/struts2/example/action”的新包,然后在这个包下创建一个名为“LoginAction.java”的类。该类可以继承Struts2提供的ActionSupport类。
package com.struts2.example.action;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private String username;
private String password;
public String execute() {
if ("admin".equals(username) && "admin123".equals(password)) {
return SUCCESS;
} else {
return LOGIN;
}
}
public void setUsername(String username) {
this.username = username;
}
public String getUsername() {
return username;
}
public void setPassword(String password) {
this.password = password;
}
public String getPassword() {
return password;
}
public String logout() {
return SUCCESS;
}
}
上面的这个Action主要实现了一个用户登录和登出功能。登录功能通过判断用户名和密码是否正确,正确则返回SUCCESS字符串,否则返回一个LOGIN字符串,让Struts2框架知道需要跳转到哪个页面。注销功能通过返回SUCCESS字符串实现。
配置struts.xml文件
现在,我们还需要在刚才复制到项目中的struts.xml文件中添加该Action的配置。如下:
<action name="login" class="com.struts2.example.action.LoginAction" method="execute">
<result name="success">/pages/index.jsp</result>
<result name="login">/pages/login.jsp</result>
</action>
<action name="logout" class="com.struts2.example.action.LoginAction" method="logout">
<result name="success">/pages/login.jsp</result>
</action>
注意,我们需要在action中根据method属性指定调用哪个方法,“login”是调用execute()方法,而"logout"是调用logout()方法。
在Tomcat上部署和测试Web应用程序
部署Web应用程序
为了在Tomcat中部署Web应用程序,我们需要在Eclipse中创建一个Web Deployment Assembly。
依次选择项目的Properties > Deployment Assembly > Add... > Java Build Path Entries,选择WebContent/WEB-INF/lib,确定。 勾选WebContent目录,将该目录下的内容打包,选择“Next”,在Target 路径前面勾选“Package”,然后选择“Finish”,生成一个.war包,如“Struts2Demo.war”。
接着,我们需要将.war包复制到Tomcat的webapps目录下。启动Tomcat服务器,如果Tomcat没有自动解压缩.war包,我们可以手动解压缩该包,然后再次启动Tomcat服务器。
测试Web应用程序
在浏览器中访问http://localhost:8080/Struts2Demo/pages/login.jsp
,即可看到登录页面。在表单中输入用户名和密码,点击“登录”按钮,程序会根据用户名和密码的正确性,跳转到相应的页面。
除了上面的登录示例,我们还可以在Struts2中创建其他类型的Web应用。需要注意的是,不同类型的Web应用程序可能需要使用不同的Struts2插件和配置文件。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Struts2开发环境搭建 附简单登录功能实例 - Python技术站