概述
Struts2 的环境搭建
一、环境搭建
1.环境搭建步骤整体是分三步:
<1>导入框架组件及开发jar 包
<2>在动态WEB 工程下配置Struts2 的拦截器
<3>新建struts.xml 配置文件及创建相关Action 类
2.开发平台
<1>此处使用的是Myeclipse2014,其他支持Java EE 等开发环境也可以。
<2>配置Tomcat6.0,此处使用tomcat 版本较低,推荐使用更高版本或最新版本的。(tomcat7,tomcat8,tomcat9)
二、Struts2 项目
1.第一个项目HelloWorld
说明:以下相关包、类、文件等命名自定义
2.新建动态WEB 工程命名为Struts2Project
<1>导入Struts2 框架所需相关jar 包,点此下载
图2-2-1.Struts2-jar 包图
3.配置WEB 工程配置文件web.xml,注册映射Struts2 的过滤器
代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID"
version="3.0">
<!-- 配置Struts2 的Filter -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
说明:filter-mapping 子节点url-pattern 的参数为/*, 使用通配符表示当前WEB 工程下的所有文件被访问都要通过struts2 映射的过滤器即filter 子节点filter-class 所指向的过滤器类。
4.创建Action 类并配置struts.xml
<1>.创建Action 类:User.java
在src 下新建包cn.edu.hpu.action,并创建Action 类命名为User。
在User.java 中创建私有属性及对应的setter() 与getter() 方法。
创建一个自定义方法login(),用来模拟用户登陆功能。
(说明:Struts2 下Action 类中有默认方法名为execute(),不自定义方法应该使用execute() 方法 )
代码如下:
package cn.edu.hpu.action;
public class User {
private String username;
private String password;
public String getUsername() {
return username;
}
public String getPassword() {
return password;
}
public void setUsername(String username) {
this.username = username;
}
public void setPassword(String password) {
this.password = password;
}
/**
* 登录方法
* 若页面请求参数为zhangsan 123456 则用户数据验证成功
* 进行相应的逻辑操作,方法返回值对应配置文件中节点result 的name 属性,进入到对应的响应页面
* <result name="success">success.jsp</result>
* <result name="error">error.jsp</result>
* @return
*/
public String login(){
if (username.equals("zhangsan") && password.equals("123456")) {
return "success";
}
return "error";
}
}
注意:Action 类中的方法以及方法返回值是与struts.xml 文件中的配置对应的。<2>配置struts.xml
(1)上面创建的类User.java 当前还是一个普通的model 类,通过在struts.xml 中配置此类就能让struts2 来管理了,被struts2 管理的model 类是Action 类。
(2)创建Struts2 配置文件struts.xml 并进行配置
配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="default" extends="struts-default" >
<!-- 注意:class参数 -->
<action name="user-login" class="cn.edu.hpu.action.User" method="login">
<result name="success">success.jsp</result>
<result name="error">error.jsp</result>
</action>
</package>
</struts>
(3)struts.xml 节点说明:
struts.xml 文件中仅有一个struts 节点,该节点下可有多个package 节点,package 节点下可有多个action 节点
1>package 需要继承struts-default,name 属性值自定义。
2>action
-- name
name属性值对应来自界面的或控制层请求转发、重定向等请求方法的方法名。
例如:
请求方法为user-login ,此处name 值也为user-login 则此action 将会受理该方法对应的请求。
-- class
class属性配置普通的model 类,注意是全类名,配置后该类即为Struts2 的Action 类。
-- method
method属性默认值为execute。(method="execute" )
如果action 节点不配置method 就默认使用execute 方法。该方法存在于class 属性对应的Action 类中。
<action name="user-login" class="cn.edu.hpu.action.User">
此处自定义方法为login 则需配置属性method = "login" ,(此方法对应Action 类中的自定义方法。)
<action name="user-login" class="cn.edu.hpu.action.User" method="login">
3>result
该节点下有name 属性,默认值为success。(name="success" )
若不配置name 属性时,则默认存在name = "success";其中默认方法public String execute() 的返回值是success。
例如:
此处Action 类中自定义方法public String login() 返回值为error 或success。
(4)Struts2 的HelloWorld整个执行过程:
首先页面传来请求,然后根据请求方法与action 节点下的name 比对找到对应的action;
执行此action 配置的类中的特定方法;
(类为action 下的class 指向,方法名为action 的method 属性值)。
根据方法的返回值匹配action 子节点result 的name 属性值,执行相关逻辑操作
例如:
<action name="user-login" class="cn.edu.hpu.action.User" method="login">
此处即受理请求user-login ,执行User 中的login 方法。根据login 方法逻辑处理后的返回值与result 比对进行下一步逻辑处理。
三、测试运行HelloWorld
1.为测试Struts2 环境是否配置完全。可测试刚才配置的方法user-login 。即模拟账户登录功能。
2.新建login.jsp 登录界面
代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!-- 引入struts 标签库 -->
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<center>
<h4>登录信息表单</h4><br/>
<s:form action="user-login" method="post">
<s:textfield name="username" label="账户"/>
<s:password name="password" label="密码"/>
<s:submit/>
</s:form>
</center>
</body>
</html>
页面只有一个表单,运行项目,进入该页面,写入数据后点击提交按钮,通过Struts 环境逻辑处理响应相应的结果。
3.创建jsp 文件success.jsp 和 error.jsp,就是显示登录成功或失败的页面。
4.在tomcat 下运行该工程Struts2Project
<1>过程描述:
通过浏览器访问login.jsp,在此页面填写zhangsan、123456 后点击提交按钮,发送请求到user-login ,struts2 对WEB 应用下所有访问进行拦截过滤,通过请求方法user-login 比对,相应的action 受理该请求,并执行Action 类User.java 的login 方法,在此方法中比对页面传来的请求参数username、password,比对成功login() 方法返回值为success,action 节点的子节点result 的name 属性值匹配返回值,进入相应的逻辑处理;返回值为success 则进入success.jsp 页面提示登录成功,error 则进入error.jsp 提示登录失败!
<2>运行效果如下:
图3-4-1.正确信息图
图3-4-2.登录成功图
图3-4-3.错误信息图
最后
以上就是英俊项链为你收集整理的Struts2 环境搭建Struts2 的环境搭建的全部内容,希望文章能够帮你解决Struts2 环境搭建Struts2 的环境搭建所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复