struts2入门精讲
虽然Struts 2提供了与Struts 1的兼容,但已经不是Struts 1的升级。对于已有Struts 1开发经验的开发者而言,Struts 1的开发经验对于Struts 2并没有太大的帮助;相反,对于已经有WebWork开发经验的开发者而言,WebWork的开发经验对Struts 2的开发将有很好的借鉴意义。
1.从用户请求开始<%@ page language="java" contentType="text/html; charset=GBK"%>
<html>
<head>
<title>登录页面</title>
</head>
<body>
<!-- 提交请求参数的表单 -->
<form action="Login.action" method="post">
<table align="center">
<caption><h3>用户登录</h3></caption>
<tr>
<!-- 用户名的表单域 -->
<td>用户名:<input type="text" name="username"/></td>
</tr>
<tr>
<!-- 密码的表单域 -->
<td>密 码:<input type="text" name="password"/></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" value="登录"/><input
type="reset" value="重填" /></td>
</tr>
</table>
</form>
</body>
</html>
注意:该表单的action属性:login.action,这个action属性比较特殊,它不是一个普通的Servlet,也不是一个动态JSP页面。当表单提交给login.action时,Struts 2的FilterDispatcher将自动起作用,将用户请求转发到对应的Struts 2 Action。
Struts 2 Action默认拦截所有后缀为.action的请求。
2.创建web应用
(1)在任意目录新建一个文件夹,笔者将以该文件夹建立一个Web应用。
(2) 在第1步所建的文件夹内建一个WEB-INF文件夹。
(3) 进入Tomcat,或任何Web容器内,找到任何一个Web应用,将Web应用的WEB-INF下的web.xml文件复制到第2步所建的WEB-INF文件夹下。
(4)修改复制的web.xml文件,将该文件修改成只有一个根元素的XML文件,修改后的web.xml文件代码如下:
<?xml version="1.0" encoding="GBK"?>
<!-- web-app是Web应用配置文件的根元素,指定Web应用的Schema信息 -->
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.
com/xml/ns/j2ee/web-app_2_4.xsd">
</web-app>
(5) 在第2步所建的WEB-INF路径下,新建两个文件夹:classes和lib,它们分别用于保存单个*.class文件和JAR文件。
经过上面步骤,已经建立了一个空Web应用。将该Web应用复制到Tomcat的webapps路径下,该Web应用将可以自动部署在Tomcat中。
该Web将有如下文件结构:
Struts2qs
|-WEB-INF
| |-classes
| |-lib
| |-web.xml
|-login.jsp
3.实现控制器类
Struts 2下的控制器不再像Struts 1下的控制器,需要继承一个Action父类,甚至可以无需实现任何接口,Struts 2的控制器就是一个普通的POJO。
public class LoginAction{
//下面是Action内用于封装的两个属性
private String username;
priavte String password;
//username属性对应的getter方法
public String getUsername()
{
return username;
}
//username属性对应的setter方法
public void setUsername(String username)
{
this.username = username;
}
//password属性对应的getter方法
public String getPassword()
{
return password;
}
//password属性对应的setter方法
public void setPassword(String password)
{
this.password = password;
}
//处理用户请求的execute()方法
public String execute() throws Exception{
if(getUsername().equals("niu") && getPassword().equals("meng")){
return "success";
}else{
return "error";
}
}
}
Struts 2的Action就是一个包含execute方法的普通Java类,该类里包含的多个属性用于封装用户的请求参数。
4.配置Action
上面定义了Struts 2的Action,但该Action还未配置在Web应用中,还不能处理用户请求。为了让该Action能处理用户请求,还需要将该Action配置在struts.xml文件中。
<?xml version="1.0" encoding="GBK"?>
<!-- 指定Struts 2配置文件的DTD信息 -->
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<!-- struts是Struts 2配置文件的根元素 -->
<struts>
<!-- Struts 2的Action必须放在指定的包空间下定义 -->
<package name="strutsqs" extends="struts-default">
<!-- 定义login的Action,该Action的实现类为lee.Action类 -->
<action name="Login" class="lee.LoginAction">
<!-- 定义处理结果和资源之间映射关系。 -->
<result name="error">/error.jsp</result>
<result name="success">/welcome.jsp</result>
</action>
</package>
</struts>
注:该Action将负责处理向login.action URL请求的客户端请求。该Action将调用自身的execute方法处理用户请求,如果execute方法返回success字符串,请求将被转发到/welcome.jsp页面;如果execute方法返回error字符串,则请求被转发到/error.jsp页面。
5.增加视图资源完成的应用
两个JSP文件分别是error.jsp页面和welcome.jsp页面,将这两个JSP页面文件放在Web应用的根路径下(与WEB-INF在同一个文件夹下)。
<%@ page language="java" contentType="text/html; charset=GBK"%>
<html>
<head>
<title>成功页面</title>
</head>
<body>
您已经登录!
</body>
</html>
总结:这是一个简单的流程用户输入两个参数,即username和password,然后向login.action发送请求,该请求被FilterDispatcher转发给LoginAction处理,如果LoginAction处理用户请求返回success字符串,则返回给用户welcome.jsp页面;如果返回error字符串,则返回给用户error.jsp页面。
分享到:
相关推荐
在这个“struts2简单应用”中,我们可以看到一些关键文件,它们是搭建和运行Struts2项目的基础。下面我们将深入探讨Struts2框架及其在实际开发中的应用。 首先,`.classpath`文件是Eclipse或MyEclipse等IDE的配置...
本项目提供了一个简单的Struts2应用实例,旨在帮助新手快速入门并理解Struts2的核心概念。 1. **Struts2框架基础** Struts2作为继Struts1之后的升级版,它引入了更多功能和改进,如拦截器、动态方法调用和更灵活的...
通过这个简单的Struts2应用实例,初学者可以快速理解Struts2的基本工作原理,并在此基础上进一步深入学习Struts2的高级特性,如自定义拦截器、动态方法调用、Tiles布局等,为成为一名熟练的Java web开发者打下坚实的...
在IT行业中,构建一个基于Maven的Struts2简单应用是一个常见的任务,它涉及到Web开发中的几个关键组件。Struts2是一个流行的Java框架,用于构建MVC(模型-视图-控制器)架构的Web应用程序,而Maven则是一个强大的...
通过学习和实践这个“struts2简单例子”,开发者可以逐步掌握Struts2的基本用法,为更复杂的Web应用开发打下坚实基础。记得不断探索Struts2的高级特性,如OGNL表达式、插件扩展等,以提升应用的灵活性和可维护性。
struts2简单应用实例struts2简单应用实例struts2简单应用实例struts2简单应用实例struts2简单应用实例struts2简单应用实例struts2简单应用实例
本项目“一个简单的struts2 银行应用”是一个实例,它展示了如何利用Struts2实现一个基本的银行系统。这个应用可能包含了用户登录、账户管理、交易处理等功能,涵盖了Struts2的核心特性。 首先,Struts2框架提供了...
1. **基本框架**:Struts提供了一个简单的框架,用于快速搭建Web应用,例如Example 1:Basic Framework,它展示了如何设置Action和ActionForm,以及如何配置Struts。 2. **登录应用**:Example 2:Login Application...
在这个"struts2+rest简单实例"中,我们可以看到如何将这两种技术结合在一起,以创建一个更现代化、更灵活的应用程序。以下是一些关于Struts2和REST的关键知识点: 1. **Struts2核心概念**: - **Action类**:这是...
Struts2是一个强大的MVC(模型-视图-控制器)框架,广泛应用于Java Web开发中。这个"struts2简单实例"是针对学生信息查询功能的实现,它演示了如何利用Struts2的核心机制来处理用户请求、展示数据以及进行后台数据...
Struts2是一个基于MVC(Model-View-Controller)设计模式的开源Java Web框架,它极大地简化了Java Web应用的开发。在这个主题中,我们将详细探讨Struts2框架中常用的jar包及其作用。 1. **struts2-core-2.3.34.jar*...
Struts2是一个强大的MVC(Model-View-Controller)框架,用于开发Java EE的Web应用程序。它在企业级Java应用开发中被广泛使用,尤其是在建立动态Web页面方面。作为一个基于WebWork核心的框架,Struts2在许多方面对...
这个简单的购书管理系统涵盖了Struts2框架的基础应用,包括请求处理、数据访问、视图渲染等方面,对于初学者来说是一个很好的实践项目。通过学习和实践,开发者可以深入理解Struts2的工作原理以及Java Web开发的整体...
3. **OGNL(Object-Graph Navigation Language)**:OGNL是Struts2中的表达式语言,用于在Action与视图之间传递数据,使得数据绑定变得简单。 4. **拦截器**:拦截器是Struts2的重要组成部分,它们按照预定义的顺序...
Struts2是一个强大的Java web应用程序框架,用于构建和维护可扩展、模块化和高度控制的MVC(模型-视图-控制器)结构的应用程序。它继承了Struts1的优点,并结合了其他框架如WebWork的核心特性,提供了更高效、灵活的...
在这个“Struts2简易计算器”项目中,我们可以看到一个基础的JavaEE入门级编程练习,它展示了如何利用Struts2框架来实现一个简单的计算器功能。 首先,Struts2框架的核心在于它提供了控制器组件,用于处理HTTP请求...
- **Hello Struts2**:通过创建一个简单的“Hello World”示例,帮助开发者快速上手Struts2的基本配置和运行流程。 - **Action类详解**:Action类是Struts2的核心组件之一,负责处理用户的请求并返回相应的结果。...
Struts2是一个强大的Java web应用程序框架,用于构建和管理MVC(模型-视图-控制器)架构的应用。这个“struts2小程序”很可能是开发者利用Struts2框架开发的一个小型项目,可能包含了基本的CRUD操作或其他特定功能。...
下面我们将深入探讨Struts2框架的核心概念和关键组件,并结合JSP(JavaServer Pages)来讲解如何构建一个简单的Web应用。 1. **Struts2框架基础** - **MVC模式**:Struts2遵循MVC设计模式,将业务逻辑、数据和显示...