Struts2 环境搭建
来源:互联网 发布:帝国cms 搜索代码 编辑:程序博客网 时间:2024/06/05 10:50
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环境搭建
- 搭建Struts2开发环境
- 搭建Struts2开发环境
- struts2 环境搭建
- struts2+tiles环境搭建
- 搭建Struts2开发环境
- Struts2 搭建开发环境
- struts2的环境搭建
- 搭建Struts2开发环境
- struts2开发环境搭建
- struts2环境配置搭建
- Struts2环境的搭建
- Struts2环境搭建
- Struts2环境搭建
- Struts2的环境搭建
- Android案例—装备选择
- java多线程--停止一个线程的方法小结(来自java多线程编程核心技术)
- Spark RDD中的aggregate函数 -JAVA8 lambda风格实现求平均数(不用mean函数)
- leetcode 104. Maximum Depth of Binary Tree
- Lucene初探之索引过程分析(一)
- Struts2 环境搭建
- HashMap、weakHashMap、LinkedHashMap和TreeMap四者区别与联系
- 内核链表
- nginx
- 序列长度 差分约束
- 《Linux内核分析》MOOC课程第五次实验作业
- C语言——数组名、取数组首地址的区别(一)
- 第二次作业HUFF_ENC与huff_dec的编码调试
- Java关键字final、static使用总结