Author:White.Huang
1 struts2准备
1.1 struts2需要的jar包下载
在struts的官方网站下载最新的struts2工具压缩包struts-2.1.8.1-all.zip,解压后在其lib目录下复制以下基本jar包到自己的项目中:
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar 使用文件上传时加入该jar包,如不使用可不加
commons-logging-1.0.4.jar
freemarker-2.3.15.jar
ognl-2.7.3.jar
struts2-core-2.1.8.1.jar
xwork-core-2.1.6.jar
1.2 struts2 配置部署启动
第一步:
在web项目的web.xml文件中写入以下配置文件内容,配置struts2过滤器
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
第二步:
建立登录页面login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>struts2提交页面</title>
</head>
<body>
<s:form action="loginAction" method="post">
<s:textfield name="userName" label="用户名" tooltip="请输入用户名"/><br />
<s:password name="password" label="密码" tooltip="请输入密码" /><br />
<s:submit value="提交" />
</s:form>
</body>
</html>
以上使用的是struts2标签,action="loginAction" 是要去到的action动作
第三步:
建立接受请求的action动作类,其实就是一个普通类,类名自定义,最好和请求页面有
一定字面联系,该类什么都不需要继承和实现
建立LoginAction类
package com.monitor.web;
public class LoginAction {
private String userName;
private String password;
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 execute(){
//action的响应执行方法
return null;
}
}
以上类中定义的属性和login.jsp表单中的属性名一致,对就是这样,只要响应类中的属性和表单属性名相同并有getter和setter方法,就可以接收表单数据,接收到的数据可以通过getter方法获得并在execute方法中执行并跳转到其他页面,那么怎么样就把表单请求的action和这个普通类绑定在一起了呢?通过struts.xml配置文件
第四步
配置action与处理类的映射文件struts.xml,并将该文件放在src目录下
<?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="com.monitor.web" extends="struts-default">
<action name="loginAction" class="com.monitor.web.LoginAction">
<result name="success">/right.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>
package中的name是所有action存放的包名,你自己的action在什么包中就写什么包
名,extends中是默认值,不用改
action就是绑定响应地址和其响应类的地方,name中就是form的action内容
result是执行后的转发结果页面,name就是在execute中的返回值
以下是execute执行并验证用户名密码后转发,页面迁移默认是以请求转发的方式
public String execute(){
if(getUserName().equals("hjt")&&getPassword().equals("123456")){
return "success";
}else{
return "error";
}
}
至此一个简单的struts2登录转发示例完成
本文详细介绍了如何使用Struts2框架实现一个简单的登录系统,包括下载必要的jar包、配置部署、建立登录页面、创建响应类及action配置等步骤。

94

被折叠的 条评论
为什么被折叠?



