一个Struts2的实例

  对应Web应用程序而言,需要跨越HTTP协议的两个障碍——无状态和基于文本。

  在没有使用struts的时候,你会有一个很真切的体会,就是如何把html页面上的数据提交给后台处理,以什么格式提交?

这是个值得思索的问题。当然要是用Servlet就可以解决。但是在Servlet中要处理request中的各种参数。这些参数是String格式

要将这些String格式的数据转换成java中的类型。这是个枯燥且庞大的工程。

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doPost(request, response);
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        String userString=request.getParameter("username");
        String password=request.getParameter("password");
         PrintWriter out = response.getWriter();
         out.println(userString);
    }

而使用了struts控件,就可以自动的获取前台html中的数据。并且可以自动的存储到javabean中。想想这是多么令人愉快的事情啊!

  就Struts的配置来说还是非常简单的。首先在WebContent/WEB-INF/lib中导入必须的包

如图:

其次在web.xml中配置FilterDispatcher

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" 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"> 

  <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>
  <welcome-file-list>
    <welcome-file>login.html</welcome-file>
  </welcome-file-list>
</web-app>  

然后配置struts.xml文件(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="default" extends="struts-default">
        <action name="LoginAction" class="action.LoginAction">
            <result name="success">/success.html</result>
        </action>
    </package>
</struts>

之后就是写action了。

package action;

public class LoginAction {
    private String username;  // 表单的请求参数被放入到动作(action)中名字匹配的属性上。(只要名字匹配,框架自动完成)
    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(){
        // 业务逻辑处理
        return "success";  //返回控制字符串,已选择应该被呈现的结果页面。从struts.xml可以看出返回到success.html页面。
    }

}
时间: 2024-08-02 21:44:44

一个Struts2的实例的相关文章

struts2教程&amp;实例

1.第一个struts2项目 参考官方配置 http://struts.apache.org/getting-started/ github地址:https://github.com/unbelievableme/maven_hibernate-struts-spring/tree/master/struts2/first 建议:参考官方配置操作一遍,因为技术不断更新,不同版本的struts的类可能不同,老版本的多个类可能在新版本中集成了一个 2.struts2工作流程原理 2.1步骤 1.创建

创建一个Struts2的web项目

前言 从零开始一步一步的搭建一个Struts2的web项目. 工具:eclipse 搭建过程 首先,创建一个动态的Web工程,结构如下: 然后我们加入一些项目所需的jar包,将其放入WEB-INF下面的lib目录下面,然后加入到项目中: jar包下载地址:http://download.csdn.net/detail/zjq_1314520/9802042 这里包含了基本的所有需要的jar包,我们选取一些我们这个最简单的项目需要的. 接着我们来配置 web.xml 我们再这里配置一个权限过滤器,

Struts2 简单实例 / 工作原理 / 动态调用 / 多个配置文件

Struts2 动态方法调用 动态方法调用就是为了解决一个Action对应多个请求的处理,以免Action太多. 1.指定method属性 2.感叹号方式 3.通配符方式 Demo结构图 web.xml标准配置 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee&qu

struts2学习笔记——第一个struts2应用配置

说实在的,随着Java学习的不断深入,特别是Java web框架部分,调bug让人很心累,但是每征服一个bug,内心的成就感也是难以言说的.第一个struts2应用的配置,我昨天折腾了快2个小时,最后还是放弃了,今天在摸索之下,终于打通了第一个struts2的任督二脉,下来就把我个人的配置过程写下来,希望后面学习的java友少走的弯路. 一.创建web工程(eclipse k kepler版本): 直接上图: 二.导入struts2关键包 1.需要导入的关键包,不导入这些包会导致报错,我就知bu

2.第一个Struts2程序-HelloWorld程序

1.新建Web Project项目:Study_Struts2 2.新建HelloWordAction.java类 3.复制struts.xml文件到src目录下,配置struts.xml文件内容如下: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuratio

通过一个具体的实例来学习hive

----资源来自于官网教程 Simple Example Use Cases MovieLens User Ratings First, create a table with tab-delimited text file format: CREATE TABLE u_data ( userid INT, movieid INT, rating INT, unixtime STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED

一个spring jdbc实例

一.使用示例 (1)springJdbcContext.xml Java代码   <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context

puppet一个完整的实例

一个具体实例来简单说明puppet的具体结构 创建第一个配置 puppet的组成清单这主要包含这几个部分 资源,文件,模板,节点,类,定义 puppet中有个模块的定义,这个比较重要,基本是puppet的核心,这个模块主要是由资源,文件,模板,类,定义来组成的. puppet的清单文件是以.pp来结尾的,在载入文件的时候就不需要写.pp的扩展名了. 现在我们来创建第一个模块: 第一创建模块 1 进入到这个目录下 2 cd /etc/puppet/modules/ 3 mkdir motd #创建

HOOK API (一)——HOOK基础+一个鼠标钩子实例

HOOK API (一)——HOOK基础+一个鼠标钩子实例 0x00 起因 最近在做毕业设计,有一个功能是需要实现对剪切板的监控和进程的防终止保护.原本想从内核层实现,但没有头绪.最后决定从调用层入手,即采用HOOK API的技术来挂钩相应的API,从而实现预期的功能.在这样的需求下,就开始学习了HOOK API. 0x01什么是HOOK API HOOK(钩子,挂钩)是一种实现Windows平台下类似于中断的机制[24].HOOK机制允许应用程序拦截并处理Windows消息或指定事件,当指定的