`

原创:第一节:struts1的环境搭建及注册案例开发

阅读更多
    很久没有使用过struts1了,今天又一次接触到了struts1,闲来之余,把自己的授课记录发表供大家学习参考,大家都知道  struts是开源软件。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。那么在这一节中我们就来学习struts1的入门知识,我们主要通过环境搭建到用户注册的案例来了解struts1的处理流程等知识点。

通过struts1.3.8完成简单用户注册的案例及环境搭建
1、搭建struts1的开发环境
      a、创建web项目
      b、添加struts1类库文件:此类库文件在官方网站下载后解压后存放在lib目录下面,直接把此文件赋值粘贴到webRoot/WEB-INF/lib目录中.
      c、由于struts1的请求处理时基于servlet完成,所以要在web容器中添加servlet配置,即在web.xml文件中添加代码现将:web.xml代码发布如下:
   <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" 

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	version="2.5"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

	<servlet>
		<servlet-name>action</servlet-name>
		<!-- 添加struts请求处理的ActionServlet配置 通过此配置解析struts-config.xml文件 -->
		<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>
		<init-param>
			<param-name>debug</param-name>
			<param-value>3</param-value>
		</init-param>
		<init-param>
			<param-name>detail</param-name>
			<param-value>3</param-value>
		</init-param>
		<!-- 当启动服务器时 加载此配置 -->
		<load-on-startup>0</load-on-startup>
	</servlet>
	<servlet-mapping>

		<servlet-name>action</servlet-name>
		<!-- 配置struts请求处理的URL方式 默认是后缀为.do的请求 -->
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>
      d、添加struts1的默认配置文件 此配置文件位于WEB-INF/下面 默认的名称为struts-config.xml文件 代码如下:
     <?xml version="1.0" encoding="UTF-8"?>
<!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>
	<!-- formbean的映射的配置 -->
	<form-beans/>	
	<!-- 映射全局的异常处理配置 -->
	<global-exceptions />
	<!-- 映射全局的跳转处理配置 -->
	<global-forwards />
	<!-- action的映射的配置 -->
	<action-mappings/>	
	<!-- 映射资源文件 -->
	<message-resources 

parameter="com.yourcompany.struts.ApplicationResources" />
</struts-config>

2、创建register.jsp注册页面 代码如下:
    <form action="${pageContext.request.contextPath}/Register.do" method="post">
      用户名:<input type="text" name="username"/><br/>
      密码:<input type="password" name="userpass"/><br/>
      邮箱:<input type="text" name="useremail"/><br/>
      <input type="submit" value="注册"/>
   </form>
3、在配置文件中添加相应的action处理及ActionForm配置代码如下:
    <?xml version="1.0" encoding="UTF-8"?>
<!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>
	<!-- formbean的映射的配置 -->
	<form-beans>
		<!--
			name指明ActionForm的名称 此名称与action中相应处理的Action中的name一致type指明ActionForm处理的类
		-->
		<form-bean name="userForm" 

type="cn.csdn.web.formbean.UserForm"></form-bean>

	</form-beans>
	<!-- 映射全局的异常处理配置 -->
	<global-exceptions />
	<!-- 映射全局的跳转处理配置 -->
	<global-forwards />
	<!-- action的映射的配置 -->
	<action-mappings>
		<!--
			path指明请求的URL地址,type指明此action处理的Action类型 name指明的是请求参数封装的ActionForm的名称
		-->
		<action path="/Register" type="cn.csdn.web.action.RegisterAction"
			name="userForm">
			<!-- forward name指明名称 path指明跳转的路径 -->
			<forward name="message" path="/message.jsp"></forward>
		</action>
	</action-mappings>
	<!-- 映射资源文件 -->
	<message-resources 

parameter="com.yourcompany.struts.ApplicationResources" />
</struts-config>

4、创建相应的ActionForm与Action:
   ActionForm代码如下:
    package cn.csdn.web.formbean;

import org.apache.struts.action.ActionForm;
/**此Form要继承struts1作者写好的ActionForm处理类*/
public class UserForm extends ActionForm {

	/**
	 * 封装用户提交的参数信息,此属性名称一定要与jsp视图中 
	 * 表单提交的参数名称一致
	 */
	private String username;
	private String userpass;
	private String useremail;
        /**以下省略了相应的set get方法 通过set方法把视图的值注入到ActionForm对应的参数中**/
        ........





   Action代码如下:
    package cn.csdn.web.action;

import javax.servlet.http.*;

import org.apache.struts.action.*;

import cn.csdn.web.formbean.UserForm;

/** 此Action要继承struts1作者写好的Action类型 */
public class RegisterAction extends Action {

	/** Action处理的方法 */
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		/** 获取ActonForm封装的请求对象 */
		UserForm userForm = (UserForm) form;
		/** 打印输出信息 ---观察效果 */
		System.out
				.println("用户名称:" + userForm.getUsername() + " 

用户密码:"
						+ userForm.getUserpass() + "   用

户邮箱:"
						+ userForm.getUseremail());

		try {
			System.out.println("向数据库发送数据处理.....");
			/** 向request中存入message信息 */
			request.setAttribute("message", "用户注册成功!!!");
		} catch (Exception ex) {
			ex.printStackTrace();
			request.setAttribute("message", "用户注册失败!!!");
		}

		/** 获取跳转的地址并返回ActionForward */
		return mapping.findForward("message");
	}

}
5、创建相应的message.jsp试图界面。

6、发布并运行此项目及可看到结果。


以上内容归redarmy_chen原创,版权归redarmy_chen所有不得随意转载,如有问题请发送邮件到

redarmy_chen@qq.com











分享到:
评论

相关推荐

    Struts2(一)

    ### Struts2 知识点概览 #### Struts2 概述与来历 - **Struts2**是由Apache组织维护的一款...从环境搭建到第一个案例的实现,再到深入理解配置文件及其元素,每一个环节都紧密相连,共同构成了Struts2的核心知识体系。

    struts2 开发详解(1)

    ### Struts2 开发详解(1):Struts2.0环境的搭建及Eclipse平台下的开发 #### 1.1 什么是Web框架 随着互联网技术的快速发展,Web应用程序的需求日益增长,这促使开发者们寻找更高效、更灵活的方式来构建复杂的Web...

    Struts2 第一篇:流程篇

    ### Struts2 第一篇:流程篇 #### 一、Struts2是什么? ##### 1、Struts2在三层架构开发中的位置 Struts2作为一款轻量级的Java Web开发框架,主要应用于三层架构(即表示层、业务逻辑层、数据访问层)中的表示层...

    struts2API文档

    1. **第一章:介绍** - 简述Struts2框架的历史背景和其在Java web开发中的重要性。 2. **第二章:环境搭建** - 指导如何配置开发环境,包括安装JDK、Apache Tomcat服务器,以及设置IDE。 3. **第三章:第一个Struts2...

    struts2.0 spring2.0 hibernate3.0整合开发快速入门-3

    **知识点1:Struts2.0简介** - **定义**: Struts2是Apache基金会下的一个开源项目,它是一个基于Java EE平台的MVC框架,用于简化Web应用程序的开发。 - **特点**: - 高度灵活的配置性; - 强大的拦截器机制; - ...

    struts入门与实践.zip

    1. **环境搭建**:安装并配置JDK、Tomcat服务器,设置Struts库,编写web.xml和struts-config.xml配置文件。 2. **Hello World程序**:创建第一个简单的Struts应用,展示Action类和JSP页面的交互。 3. **表单验证**...

    Struts2.应用开发详解(第一讲)

    Struts2是一个强大的Java Web应用程序开发框架,基于Model-View-Controller(MVC)设计模式,旨在简化企业级Web应用...本讲解为第一讲,后续部分会深入探讨更多高级特性和实战案例,帮助你全面掌握Struts2框架的使用。

    搭建第一个ssh2(struts2+hibernate+spring)

    **Struts2** 是一个基于MVC设计模式的Web应用框架,它继承了Struts1的优点并加入了更多现代Web应用开发的需求。Struts2的核心是Action类,它处理HTTP请求并返回相应的结果。框架通过拦截器(Interceptor)机制来扩展...

    韩顺平Struts22017年视频

    - **第一个Struts2应用**:通过一个简单的“Hello World”示例来熟悉Struts2的基本工作流程。 #### 2. Struts2的核心组件讲解 - **Action类**:作为控制器层的主要实现方式,介绍如何创建并调用Action类。 - **拦截...

    Struts2 In Action

    - 快速搭建Struts2环境 - 创建第一个Struts2应用 - 理解基本的配置文件设置 - **第二部分:核心概念:Action、拦截器、类型转换** - **第3章:与Struts2 Actions共事**(第43页起) - **章节概述**:本章详细...

    struts2权威指南 1-3

    - 创建第一个Struts2应用:通过一个简单的示例,展示如何创建一个Hello World应用,演示Action、JSP页面和配置文件的使用。 4. **Action与Action Mapping** - Action类:定义Action接口,以及如何创建自定义...

    精通struts.基于MVC的.java.web设计与开发

    - **12.3 开发第一个Struts2应用** - **12.3.1 准备工作**:介绍开发环境搭建所需的软件和工具。 - **12.3.2 开发HelloWorld**:通过简单的“Hello World”示例,让读者快速入门Struts2开发。 - **12.3.3 使用...

    深入浅出 Struts2 +Starting Struts 2

    2. **Getting Started**:指导读者搭建开发环境,创建第一个Struts2应用。 3. **Request Processing**:解析Struts2请求处理流程,包括过滤器、Dispatcher Servlet等。 4. **Action Configuration**:深入探讨...

    深入浅出Struts2 包含了源码

    - **基础篇**:介绍Struts2的基本概念、安装和搭建开发环境,以及创建第一个Struts2应用。 - **核心机制**:深入探讨Struts2的Action、Result、Interceptor、OGNL等核心组件的工作原理。 - **配置篇**:解析XML...

    Struts2.1权威指南——基于WebWork核心的MVC开发.pdf

    - **第2章Struts2下的HelloWorld**:通过一个简单的示例展示如何搭建Struts2环境并运行第一个程序。 - **第3章Struts2基础**:涵盖Struts2的核心组件、配置文件、请求处理流程等基础知识。 - **第4章深入Struts2**:...

    ssh环境搭建项目

    1. **Struts2**:Struts2是一个基于MVC设计模式的Web应用框架,它继承了Struts1的优点,并引入了更多功能和改进。在本项目中,Struts2主要负责控制层的工作,处理HTTP请求,调度业务逻辑,并将结果返回给用户。它的...

    Struts 2+Spring 3+Hibernate框架技术精讲与整合案例_pdf源码前半部分

    在这个教程中,`第1篇 环境搭建篇`将指导读者如何配置开发环境,包括安装 JDK、设置 IDE、导入相关库,以及配置项目结构。这部分对于初学者来说非常重要,因为良好的开发环境是成功学习的前提。 `第2篇 Java Web...

    精通J2EE--ECLIPSE、STRUTS、HIBERNATE及SPRING整合应用案例代码-ch06

    《精通J2EE--ECLIPSE、STRUTS、HIBERNATE及SPRING整合应用案例代码-ch06》是一份深入学习J2EE开发技术的重要资源,它聚焦于四大核心框架——Eclipse集成开发环境(IDE)、Struts、Hibernate和Spring的整合应用。...

Global site tag (gtag.js) - Google Analytics