Today is first day of J2E高级部分。今天开始讲解struts1,为什么要讲1不讲2呢?因为自struts1以来,就应用广泛。即使Struts2已经发布了,但使用struts1开发的WEB应用比较多见,因为Struts2与Struts1有很大的差别,所以将以前使用Struts1开发的WEB应用移植到Struts2上来,不是一件容易的事。所以大家在工作中,可能会遇到有使用Struts1的WEB应用。这是学习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响应
|
|
图中每个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.xml,WEB应用的配置文件:
<?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.xml(Struts的配置文件)!在的开发中,如果不记得web.xml的配置方式,可以到struts包目录下的apps目录下解压一个示例文件(*.war),在示例文件中有相关配置。
struts-config.xml,struts框架的配置文件:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
<span style
分享到:
Global site tag (gtag.js) - Google Analytics
|
相关推荐
根据提供的文件信息,我们可以推断出这是一套关于Struts2框架的教学视频资料,由知名的教育机构传智播客在2015年9月发布。下面将对Struts2框架进行详细介绍,并基于该视频资料可能涵盖的核心知识点进行展开。 ### ...
本视频教程由传智播客提供,旨在帮助初学者理解Struts2的基础概念,并指导如何搭建Struts2的开发环境。 首先,我们要了解Struts2的核心概念。Struts2是一个基于MVC(Model-View-Controller)设计模式的框架,它的...
struts2-传智播客-课件
这是关于struts框架的笔记,是传智播客讲师编写的,................................................。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。...
"20_传智播客struts2.1视频教程_对action指定方法进行校验.rar"则可能讲解了如何配置和使用Action方法的校验,以及如何将校验结果反馈给用户。 学习Struts2不仅需要理解这些基本概念,还要掌握Action的生命周期、...
《2010传智播客struts2.1.8视频教程》1.09G 《EJB3.0视频教程》180M 《JDBC视频教程》664M 《jpa详解视频教程》165M 《spring2.5视频教程》365M 《传智播客_AJAX视频教程》1.27G 《传智播客_FTP视频教程》117M ...
传智播客 2010年 张孝祥 Struts2PPT 80页
记得下载所有分块的rar文件(51CTO下载-传智播客struts2.1视频教程_源代码.part1.rar、51CTO下载-传智播客struts2.1视频教程_源代码.part3.rar、51CTO下载-传智播客struts2.1视频教程_源代码.part2.rar、51CTO下载-...
本资源“传智播客视频struts2springhibernate ppt”提供了由知名教育机构传智播客制作的关于这三个框架的培训材料,旨在帮助学习者快速入门并深入理解这些技术。 1. **Struts2**:Struts2是一个基于MVC(Model-View...
传智播客Struts2的PPT,是传智播客黎活明老师的东西,和视频是配套的东西还不错
传智播客struts2.1视频教程PPT
《SSM框架整合详解——基于spring-mybatis-struts2-master的实战分析》 在Java Web开发领域,SSM(Spring、Struts2、MyBatis)框架的组合被广泛使用,因其灵活性和强大的功能而备受青睐。本篇文章将深入探讨这个...
1. **Struts2基础**:介绍Struts2的基本概念,包括Action、Result、Interceptor等核心组件,以及它们在MVC架构中的角色。 2. **配置文件详解**:讲解struts.xml配置文件的使用,包括Action配置、结果类型设置、拦截...