`
n_meng
  • 浏览: 29624 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Struct2简单的应用

阅读更多
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>密&nbsp;&nbsp;码:<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项目的基础。下面我们将深入探讨Struts2框架及其在实际开发中的应用。 首先,`.classpath`文件是Eclipse或MyEclipse等IDE的配置...

    struts2简单应用代码

    本项目提供了一个简单的Struts2应用实例,旨在帮助新手快速入门并理解Struts2的核心概念。 1. **Struts2框架基础** Struts2作为继Struts1之后的升级版,它引入了更多功能和改进,如拦截器、动态方法调用和更灵活的...

    struts2简单应用.7z

    通过这个简单的Struts2应用实例,初学者可以快速理解Struts2的基本工作原理,并在此基础上进一步深入学习Struts2的高级特性,如自定义拦截器、动态方法调用、Tiles布局等,为成为一名熟练的Java web开发者打下坚实的...

    基于Maven Struts2 简单应用开发

    在IT行业中,构建一个基于Maven的Struts2简单应用是一个常见的任务,它涉及到Web开发中的几个关键组件。Struts2是一个流行的Java框架,用于构建MVC(模型-视图-控制器)架构的Web应用程序,而Maven则是一个强大的...

    struts2简单例子

    通过学习和实践这个“struts2简单例子”,开发者可以逐步掌握Struts2的基本用法,为更复杂的Web应用开发打下坚实基础。记得不断探索Struts2的高级特性,如OGNL表达式、插件扩展等,以提升应用的灵活性和可维护性。

    struts2实例项目

    struts2简单应用实例struts2简单应用实例struts2简单应用实例struts2简单应用实例struts2简单应用实例struts2简单应用实例struts2简单应用实例

    一个简单的struts2 银行应用

    本项目“一个简单的struts2 银行应用”是一个实例,它展示了如何利用Struts2实现一个基本的银行系统。这个应用可能包含了用户登录、账户管理、交易处理等功能,涵盖了Struts2的核心特性。 首先,Struts2框架提供了...

    Struts 原理 与 应用

    1. **基本框架**:Struts提供了一个简单的框架,用于快速搭建Web应用,例如Example 1:Basic Framework,它展示了如何设置Action和ActionForm,以及如何配置Struts。 2. **登录应用**:Example 2:Login Application...

    struts2+rest简单实例

    在这个"struts2+rest简单实例"中,我们可以看到如何将这两种技术结合在一起,以创建一个更现代化、更灵活的应用程序。以下是一些关于Struts2和REST的关键知识点: 1. **Struts2核心概念**: - **Action类**:这是...

    struts2简单实例

    Struts2是一个强大的MVC(模型-视图-控制器)框架,广泛应用于Java Web开发中。这个"struts2简单实例"是针对学生信息查询功能的实现,它演示了如何利用Struts2的核心机制来处理用户请求、展示数据以及进行后台数据...

    Struts2常用的jar包

    Struts2是一个基于MVC(Model-View-Controller)设计模式的开源Java Web框架,它极大地简化了Java Web应用的开发。在这个主题中,我们将详细探讨Struts2框架中常用的jar包及其作用。 1. **struts2-core-2.3.34.jar*...

    struts2简单入门教程

    Struts2是一个强大的MVC(Model-View-Controller)框架,用于开发Java EE的Web应用程序。它在企业级Java应用开发中被广泛使用,尤其是在建立动态Web页面方面。作为一个基于WebWork核心的框架,Struts2在许多方面对...

    基于struts2的简单购书管理系统

    这个简单的购书管理系统涵盖了Struts2框架的基础应用,包括请求处理、数据访问、视图渲染等方面,对于初学者来说是一个很好的实践项目。通过学习和实践,开发者可以深入理解Struts2的工作原理以及Java Web开发的整体...

    struts2 应用

    3. **OGNL(Object-Graph Navigation Language)**:OGNL是Struts2中的表达式语言,用于在Action与视图之间传递数据,使得数据绑定变得简单。 4. **拦截器**:拦截器是Struts2的重要组成部分,它们按照预定义的顺序...

    Struts2简单实例

    Struts2是一个强大的Java web应用程序框架,用于构建和维护可扩展、模块化和高度控制的MVC(模型-视图-控制器)结构的应用程序。它继承了Struts1的优点,并结合了其他框架如WebWork的核心特性,提供了更高效、灵活的...

    Struts2简易计算器.zip

    在这个“Struts2简易计算器”项目中,我们可以看到一个基础的JavaEE入门级编程练习,它展示了如何利用Struts2框架来实现一个简单的计算器功能。 首先,Struts2框架的核心在于它提供了控制器组件,用于处理HTTP请求...

    Struts2视频教程

    - **Hello Struts2**:通过创建一个简单的“Hello World”示例,帮助开发者快速上手Struts2的基本配置和运行流程。 - **Action类详解**:Action类是Struts2的核心组件之一,负责处理用户的请求并返回相应的结果。...

    struts2小程序 struts2代码

    Struts2是一个强大的Java web应用程序框架,用于构建和管理MVC(模型-视图-控制器)架构的应用。这个“struts2小程序”很可能是开发者利用Struts2框架开发的一个小型项目,可能包含了基本的CRUD操作或其他特定功能。...

    struts2简单案例

    下面我们将深入探讨Struts2框架的核心概念和关键组件,并结合JSP(JavaServer Pages)来讲解如何构建一个简单的Web应用。 1. **Struts2框架基础** - **MVC模式**:Struts2遵循MVC设计模式,将业务逻辑、数据和显示...

Global site tag (gtag.js) - Google Analytics