昨天学习了struts,发现struts并不是struts2同一框架的升级,完全是属于两个框架。struts2是在freework的基础上进行封装的。

1.struts的环境搭载

    (1)创建web项目。

  (2)导入struts jar包。

  (3)struts实质就是对web的封装,减少web层的代码量,依靠配置文件实现。Action为核心类,所以的页面请求经过拦截并交给其actionServlet预处理。

     在web.xml文件中配置struts的actionServlet处理所有.do的请求。

  (4)在WEB-INF目录中加入struts的工作配置文件:struts-config.xml

  (5) 在struts的工作配置文件:struts-config.xml,配置actionServlet收到register请求后,调用ReigsterAction处理,并把请求中的数据封装到registerForm中。

  (6)编写封装数据的RegisterFormBean和处理请求的RegisterAction。

2.下面以注册为例

  

  1.写jsp
    <form action="${pageContext.request.contextPath }/register.do" method="post">
    用户名:<input type="text" name="username"><br/>
    密码:<input type="password" name="password"><br/>
    电子邮箱:<input type="text" name="email"><br/>
    <input type="submit" value="注册">
    </form>

  2.请求为了交给struts处理,这时需要导入struts开发包

  3.在web.xml文件中配置struts的actionServlet处理所有.do的请求
    <servlet>
    <servlet-name>ActionServlet</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
    <param-name>config</param-name>
    <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
    <servlet-name>ActionServlet</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping>

   4.在WEB-INF目录中加入struts的工作配置文件:struts-config.xml
    <?xml version="1.0" encoding="ISO-8859-1" ?>

    <!DOCTYPE struts-config PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
    "http://struts.apache.org/dtds/struts-config_1_3.dtd">

    <struts-config>

    </struts-config>

  5.在struts的工作配置文件:struts-config.xml,配置actionServlet收到register请求后,调用ReigsterAction处理,并把请求中的数据封装到    registerForm中。
    <form-beans>
    <form-bean name="registerForm" type="cn.itcast.web.formbean.RegisterFormBean"></form-bean>
    </form-beans>

    <action-mappings>
    <action path="/register" name="registerForm" type="cn.itcast.web.action.RegisterAction">
    <forward name="message" path="/message.jsp"/>
    </action>
    </action-mappings>

  6.编写封装数据的RegisterFormBean和处理请求的RegisterAction

    RegisterFormBean registerForm = (RegisterFormBean) form;
    String username = registerForm.getUsername();
    String password = registerForm.getPassword();
    String email = registerForm.getEmail();

    try{
    System.out.println("向数据库中注册" + username + "用户");
    request.setAttribute("message", "注册成功!!");
    }catch (Exception e) {
    request.setAttribute("message", "注册失败!!");
    }

    return mapping.findForward("message");

  7.编写显示全局消息的message.jsp页面

搭建struct环境的更多相关文章

  1. Centos7+Apache2.4+php5.6+mysql5.5搭建Lamp环境——为了wordPress

    最近想搭建个人博客玩玩,挑来挑去发现口碑不错的博客程序是wordpress,简称wp.虽然是学java路线的程序员,但因入行时间太短,至今没有发现较为称手开源的博客程序,如果各位大神有好的推荐,也希望 ...

  2. Centos搭建go环境以及go入门

    引言 本文主要聚焦于 如何在centos上搭建go环境以及go入门, 包括搭建go环境,hello world运行, 创建包等操作,初步入门go语言. 安装环境 在管理员权限下, 也就是root用户 ...

  3. Flume1 初识Flume和虚拟机搭建Flume环境

    前言:       工作中需要同步日志到hdfs,以前是找运维用rsync做同步,现在一般是用flume同步数据到hdfs.以前为了工作简单看个flume的一些东西,今天下午有时间自己利用虚拟机搭建了 ...

  4. 搭建LNAMP环境(七)- PHP7源码安装Memcached和Memcache拓展

    上一篇:搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展 一.安装Memcached 1.yum安装libevent事件触发管理器 yum -y install libe ...

  5. 搭建LNAMP环境(二)- 源码安装Nginx1.10

    上一篇:搭建LNAMP环境(一)- 源码安装MySQL5.6 1.yum安装编译nginx需要的包 yum -y install pcre pcre-devel zlib zlib-devel ope ...

  6. 搭建LNAMP环境(一)- 源码安装MySQL5.6

    1.yum安装编译mysql需要的包 yum -y install gcc-c++ make cmake bison-devel ncurses-devel perl 2.为mysql创建一个新的用户 ...

  7. Linux 14.04lts 环境下搭建交叉编译环境arm-linux-gcc-4.5.1

    交叉编译工具链是为了编译.链接.处理和调试跨平台体系结构的程序代码,在该环境下编译出嵌入式Linux系统所需要的操作系统.应用程序等,然后再上传到目标板上. 首 先要明确gcc 和arm-linux- ...

  8. GJM : Unity3D HIAR -【 快速入门 】 二、搭建开发环境

    感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...

  9. Mac下maven工程的创建,并搭建SSH环境

    最近项目有用到maven,就特地学了一下.maven的一句话攻略就是,项目托管.帮你解决各种项目琐事:清理,导包....等等. 首先先到apach官网去下载一个maven的包,http://maven ...

随机推荐

  1. Apache优化

    控制MaxClients的设置,以避免服务器产生太多的子进程而发生交换.进程间的数据交换会占用很大内存,数据交换产生的滞后使用户总感觉"不够快",所以用户就可能去按"停止 ...

  2. js面向对象二级菜单

    <!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title> ...

  3. JAVA加密算法系列-AES

    package ***; import java.io.UnsupportedEncodingException; import java.security.InvalidKeyException; ...

  4. 4日6日--ES5新增数组方法

    forEach使用的函数调用,所以占内存比较大,不如定长for循环和迭代for循环 1.通过forEach将数组中的元素逐个表示出来(遍历方法,读取操作). 2.通过map将原数组中的元素进行算数运算 ...

  5. mysql 分析第一步

    分析mysql 慢的原因    思路 通过脚本观察 status -->看是否会出现周期性波动 一般由访高峰或缓存崩溃引起   加缓存更改 缓存失效策略 使失效时间分散 或夜间定时失效 --&g ...

  6. jmeter读取文件进行参数化时随机取值实现

    jmeter能用来做参数化的组件有几个,但是都没有随机取值的功能,遇到随机取值的需求怎么办呢? 突发奇想,可以用函数_StringFromFile来实现,先来介绍下此函数: 此函数位于函数助手中, 函 ...

  7. Selenium1工作原理

    内容主要转自:Selenium工作原理 http://blog.csdn.net/five3/article/details/6790925 简介: Selenium 1.0中可以使用多种语言编程,当 ...

  8. 浩哥解析MyBatis源码(十)——Type类型模块之类型处理器

    原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6715063.html 1.回顾 之前的两篇分别解析了类型别名注册器和类型处理器注册器,此二 ...

  9. C字符串输入输出函数

    下面就几个常用的字符串输入输出函数做个小小的总结TAT 使用时添加头文件:#include<stdio.h>. scanf("格式控制字符串",变量地址列表):(pri ...

  10. 基于 Haproxy 构建负载均衡集群

    1.HAPROXY简介 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种负载均衡解决方案.HAProxy特别适用于那些负载特大的web ...