`
tigers20010
  • 浏览: 48643 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

2009-12-20传智播客——Struts1 (转载)

阅读更多

Today is first day of J2E高级部分。今天开始讲解struts1,为什么要讲1不讲2呢?因为自struts1以来,就应用广泛。即使Struts2已经发布了,但使用struts1开发的WEB应用比较多见,因为Struts2Struts1有很大的差别,所以将以前使用Struts1开发的WEB应用移植到Struts2上来,不是一件容易的事。所以大家在工作中,可能会遇到有使用Struts1WEB应用。这是学习Struts1的原因,但我认为学习Struts1可以让我在框架这片地方混的熟悉一些,学学框架的设计,而且过渡到Struts2也十分容易!

 

       Struts1的课程由佟刚老师教授,佟老师也是传智的一位名人。今日一见,名不虚传!老佟十分幽默,而且细心。课上给同学们带来欢笑的同时,课程内容也一一被它记录在记事文本文件中并放入工程。逻辑思路清晰,就是讲课有点快。他说以后会慢慢提速,直到大家适应了快速。其实后续课程中还有项目等着大家呢,如果速度不提快,大家不努力适应上来,怎能做好项目。这是一个适应过程,保质保量的完成项目!

 

         既然很快,今天的内容非常多。下面,我来总结一下主要内容。

 

       一、为什么要使用Struts

         在之前的学习过程中,我们编写的练习程序有以下特点。

1. 使用 MVC 设计模式

    1). 原则: 所有的请求都必须提交到 Servlet

    2). Servlet的职责:

       . 接受请求, 获取请求参数。

       . 进行简单验证,比如用户名、密码、email格式是否正确...

       . 封装数据到一个JavaBean,比如将用户信息封装到UserBean中。

       . 调用方法,处理业务逻辑。

       . 确定要派发的页面。

       . 派发页面。

    3). 使用Servlet作为控制器有以下不足:

       . Servlet仅负责页面派发,此时Servlet有些浪费。

       . Servlet中进行简单验证,导致Servlet中的代码比较臃肿。

       . 因为要派发的页面写在了Servlet的代码中,若需要更改派发的页面,则需要修改源代码。

       . 进行国际化,比较麻烦。

       . 处理表单重复提交,文件的上传操作,表单的回显等常用功能也比较麻烦。

    4). Struts可以解决上述问题

 

       二、Struts原理与应用

         1.Struts流程:

 

 

Servlet/JSP 容器

http请求

http响应

 
clip_image001

 

图中每个Action都可以设置一个FormBean用于校验页面提交的form数据。

 

2.我们来编写一个校验用户注册信息的简单应用

index.jsp,我直接把这个页面设置为注册页面(可以将名字改为“register.jsp”)。

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ taglib prefix="html" uri="http://struts.apache.org/tags-html" %>

   

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

 

<body>

    <table align="center">

       <form action="${pageContext.request.contextPath }/reg.do" method="post">

           <tr>

              <td>用户名:</td><td><input type="text" name="username" value="${param.username }"/></td>

              <td><html:errors property="username" /></td>

           </tr>

           <tr>

              <td>密码:</td><td><input type="password" name="password"/></td>

              <td><html:errors property="password"/></td>

           </tr>

           <tr>  

              <td>确认密码:</td><td><input type="password" name="password2"/></td>

              <td><html:errors property="password2"/></td>

           </tr>

           <tr>

              <td>生日:</td><td><input type="text" name="birthday" value="${param.birthday }"/></td>

              <td><html:errors property="birthday"/></td>

           </tr>

           <tr>

              <td><input type="submit" value="注册"/></td>

              <td><input type="reset" value="重填"/></td>

           </tr>

       </form>

    </table>

</body>

</html>

 

         注意里边的“<html:errors…”,它是获取Struts框架中ActionForm生成的错误信息。关于ActionForm请继续向下看。

 

         web.xmlWEB应用的配置文件:

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">

  <display-name>091220StrutsLogin</display-name>

 

  <servlet>

    <servlet-name>action</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>

  </servlet>

  <servlet-mapping>

    <servlet-name>action</servlet-name>

    <url-pattern>*.do</url-pattern>

  </servlet-mapping>

 

  <welcome-file-list>

    <welcome-file>index.jsp</welcome-file>

  </welcome-file-list>

</web-app>

 

         注意其中的“org.apache.struts.action.ActionServlet”类,它是Struts的控制器,所有“*.do”的请求都交由它处理。它需要一个初始化参数——struts-config.xmlStruts的配置文件)!在的开发中,如果不记得web.xml的配置方式,可以到struts包目录下的apps目录下解压一个示例文件(*.war),在示例文件中有相关配置。

 

         struts-config.xmlstruts框架的配置文件:

<?xml version="1.0" encoding="ISO-8859-1" ?>

 

<!DOCTYPE struts-config PUBLIC

<span style

分享到:
评论

相关推荐

    15年9月传智播客视频struts2

    根据提供的文件信息,我们可以推断出这是一套关于Struts2框架的教学视频资料,由知名的教育机构传智播客在2015年9月发布。下面将对Struts2框架进行详细介绍,并基于该视频资料可能涵盖的核心知识点进行展开。 ### ...

    传智播客struts2.1视频教程_介绍struts2及struts2开发环境的搭建

    本视频教程由传智播客提供,旨在帮助初学者理解Struts2的基础概念,并指导如何搭建Struts2的开发环境。 首先,我们要了解Struts2的核心概念。Struts2是一个基于MVC(Model-View-Controller)设计模式的框架,它的...

    struts2-传智播客-课件

    struts2-传智播客-课件

    传智播客最新Struts2PPT.ppt

    这是关于struts框架的笔记,是传智播客讲师编写的,................................................。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。...

    传智播客struts2教程

    "20_传智播客struts2.1视频教程_对action指定方法进行校验.rar"则可能讲解了如何配置和使用Action方法的校验,以及如何将校验结果反馈给用户。 学习Struts2不仅需要理解这些基本概念,还要掌握Action的生命周期、...

    传智播客JAVA全套种子共20G

    《2010传智播客struts2.1.8视频教程》1.09G 《EJB3.0视频教程》180M 《JDBC视频教程》664M 《jpa详解视频教程》165M 《spring2.5视频教程》365M 《传智播客_AJAX视频教程》1.27G 《传智播客_FTP视频教程》117M ...

    传智播客 张孝祥Struts2PPT

    传智播客 2010年 张孝祥 Struts2PPT 80页

    传智播客struts2.1视频教程—源代码

    记得下载所有分块的rar文件(51CTO下载-传智播客struts2.1视频教程_源代码.part1.rar、51CTO下载-传智播客struts2.1视频教程_源代码.part3.rar、51CTO下载-传智播客struts2.1视频教程_源代码.part2.rar、51CTO下载-...

    传智播客视频struts2springhibernate ppt

    本资源“传智播客视频struts2springhibernate ppt”提供了由知名教育机构传智播客制作的关于这三个框架的培训材料,旨在帮助学习者快速入门并深入理解这些技术。 1. **Struts2**:Struts2是一个基于MVC(Model-View...

    传智播客Struts2的PPT

    传智播客Struts2的PPT,是传智播客黎活明老师的东西,和视频是配套的东西还不错

    传智播客struts2.1视频教程PPT

    传智播客struts2.1视频教程PPT

    spring-mybatis-struts2-master ——demo

    《SSM框架整合详解——基于spring-mybatis-struts2-master的实战分析》 在Java Web开发领域,SSM(Spring、Struts2、MyBatis)框架的组合被广泛使用,因其灵活性和强大的功能而备受青睐。本篇文章将深入探讨这个...

    传智播客Struts2学习资料

    1. **Struts2基础**:介绍Struts2的基本概念,包括Action、Result、Interceptor等核心组件,以及它们在MVC架构中的角色。 2. **配置文件详解**:讲解struts.xml配置文件的使用,包括Action配置、结果类型设置、拦截...

Global site tag (gtag.js) - Google Analytics