如何学习struts框架
StrutsJavaWeb框架使用技巧
StrutsJavaWeb框架使用技巧Struts是一个用于开发JavaWeb应用程序的流行框架。
它基于MVC(Model-View-Controller)架构,提供了一种简单且灵活的方式来构建和管理Web应用程序。
在本文中,我们将讨论一些使用Struts框架的技巧,以帮助您更好地开发JavaWeb应用程序。
第一章:Struts框架介绍Struts是一个用于构建基于Java的Web应用程序的框架。
它由多个组件组成,包括控制器、模型和视图。
控制器负责接收和处理用户请求,模型负责处理数据逻辑,而视图负责呈现数据给用户。
Struts还提供了强大的表单验证、国际化支持和数据持久化等功能。
第二章:Struts的配置在使用Struts框架之前,您需要进行一些配置。
首先,您需要在web.xml文件中配置Struts过滤器,以便将所有从浏览器发送到应用程序的请求都传递给Struts框架进行处理。
此外,您还需要配置struts-config.xml文件,其中包含有关控制器、视图和模型的信息。
第三章:控制器Struts的控制器使用Action类来处理用户请求。
您可以为每个不同的请求创建一个独立的Action类,然后在struts-config.xml文件中进行配置。
在Action类中,您可以定义处理用户请求的逻辑。
此外,您还可以使用拦截器来进行全局的请求处理,例如身份验证或日志记录。
第四章:模型模型层是用于处理数据逻辑的核心组件之一。
在Struts中,您可以使用JavaBeans或POJO(Plain Old Java Object)作为模型对象。
您可以在Action类中使用模型对象来处理业务逻辑,并从数据库或其他数据源中获取数据。
Struts还提供了一些有用的标签和工具,以简化模型与视图之间的数据传递。
第五章:视图视图层负责呈现数据给用户。
在Struts中,您可以使用JSP (JavaServer Pages)或Velocity等模板引擎来创建视图。
struts使用技巧
struts使用技巧Struts是一种Java Web应用程序框架,被广泛用于开发MVC (模型-视图-控制器)架构的Web应用程序。
它提供了在Web应用程序中使用的一组工具、类和方法,以简化开发过程。
下面是一些使用Struts的技巧:1. 使用Struts的配置文件:Struts使用一个XML配置文件来定义Web应用程序的行为和流程控制。
配置文件中定义了应用程序中的所有操作、控制器和视图之间的关系。
了解如何正确配置Struts的配置文件可以帮助开发人员更好地组织和管理应用程序。
2. 使用合适的Action类和方法:在Struts中,Action类是控制器的一部分,负责处理请求并将数据传递给视图。
了解不同类型的Action类和方法,以及它们的作用和用法,可以更好地设计和编写应用程序的控制器部分。
3. 使用合适的验证和校验:Struts提供了一组验证和校验的工具和类,可以用于验证用户输入的数据。
了解如何正确使用这些工具和类可以帮助开发人员有效地验证表单数据,并及时地反馈给用户。
4. 使用合适的模型:在Struts中,模型是应用程序的数据和业务逻辑部分。
了解如何正确使用模型可以帮助开发人员更好地组织和管理应用程序的数据和业务逻辑。
5. 使用合适的视图:在Struts中,视图负责展示数据给用户。
了解如何正确使用视图可以帮助开发人员设计和编写用户友好的界面。
6. 使用合适的标签库和EL表达式:Struts提供了一组标签库和EL表达式,可以用于更方便地处理和展示数据。
了解如何正确使用这些标签库和EL表达式可以帮助开发人员更好地展示和处理数据。
7. 使用合适的异常处理机制:在Struts中,异常处理是一个重要的部分,负责处理应用程序中可能出现的异常情况。
了解如何正确使用异常处理机制可以帮助开发人员更好地处理异常,提高应用程序的稳定性。
总之,以上是一些使用Struts的技巧。
熟练掌握这些技巧可以帮助开发人员更好地开发和管理Struts应用程序。
使用struts框架的流程
使用struts框架的流程1. 介绍Struts框架是一个基于Java的开源Web应用框架,它遵循MVC(Model-View-Controller)设计模式,旨在简化Web应用程序的开发过程。
使用Struts框架可以将应用的业务逻辑、数据和表示分离,提高开发的可维护性和可扩展性。
2. 框架结构Struts框架的主要组成部分包括:•控制器(Controller):负责接收和处理用户请求,并将请求转发给相应的处理器进行处理。
•处理器(Action):包含应用程序的业务逻辑,处理来自控制器的请求,并生成相应的结果。
•视图(View):负责展示处理结果给用户,通常是通过JSP页面实现。
•模型(Model):表示应用程序的数据,可以是数据库中的表、XML 文件、Java对象等。
3. Struts框架使用流程使用Struts框架的一般流程如下:1.创建Struts项目:使用Java开发工具(如Eclipse)创建一个新的Web项目,并引入Struts框架所需的相关库文件。
2.配置web.xml文件:在Web应用的部署描述符(web.xml)中配置Struts框架的核心组件,如控制器、处理器和视图等。
3.创建项目结构:创建项目所需的目录结构,通常包括模型、视图、处理器和配置文件等。
4.定义模型:根据应用程序的需求,定义相应的模型对象,可以是Java对象、数据库表或XML文件等。
5.编写配置文件:创建struts-config.xml文件,配置每个处理器的映射关系和其他配置信息,如路径、访问权限等。
6.编写处理器:根据业务需求编写处理器类,处理用户请求并生成相应的结果。
7.编写视图:使用JSP或其他模板技术编写视图,展示处理结果给用户。
8.前端交互:在视图中添加表单和其他前端元素,与用户进行交互。
9.配置控制器:根据用户请求的URL和处理器的映射关系,配置控制器,将请求转发给相应的处理器进行处理。
10.运行应用程序:部署应用程序到Web容器中,启动服务器,通过访问应用程序的URL进行测试和调试。
第4章 Struts快速上手
4.3.2 在Eclipse中部署Struts开发包
(1)将Struts 2.2.3.1压缩包解压后得到的“lib”文件夹打开, 得到Struts开发中可能用到的所有jar包。在其中选择开发所 需要的开发包,拷贝到自定义路径下 。 (2)打开4.3.1节中创建的StrutsDemo工程,复制项目中所需 的jar包并粘贴到“lib”文件夹中。下图为该项目所需jar包。
4.3.7 开发后台Struts处理程序TestAction.java
public class TestAction extends ActionSupport{ private static final long serialVersionUID=1L; private String helo; //Action属性 //getter方法 public String getHelo() { return helo; } //setter方法 public void setHelo(String helo) { this.helo = helo; } //重载execute()方法 public String execute() throws Exception { helo="hello,world"; return SUCCESS; } 文件
<struts.i18n.encoding value="UTF-8"/>
<!--设置常量-->
指定Web应用的默认编码集,相当于调用 HttpServletRequest的setCharacterEncoding方法。
或者在struts.xml里加上:
配置管理器
Result 模板,视图层 拦截器3 拦截器2 拦截器1
轻松学Java Web开发之Struts 2框架入门共25页
轻松学Java Web开发之Struts 2框架在 我们的 后面。
•
7、心急吃不了热汤圆。
•
8、你可以很有个性,但某些时候请收 敛。
•
9、只为成功找方法,不为失败找借口 (蹩脚 的工人 总是说 工具不 好)。
•
10、只要下定决心克服恐惧,便几乎 能克服 任何恐 惧。因 为,请 记住, 除了在 脑海中 ,恐惧 无处藏 身。-- 戴尔. 卡耐基 。
41、学问是异常珍贵的东西,从任何源泉吸 收都不可耻。——阿卜·日·法拉兹
42、只有在人群中间,才能认识自 己。——德国
43、重复别人所说的话,只需要教育; 而要挑战别人所说的话,则需要头脑。—— 玛丽·佩蒂博恩·普尔
44、卓越的人一大优点是:在不利与艰 难的遭遇里百折不饶。——贝多芬
struts2框架学习
struts2框架学习一个使用struts2框架的小应用本应用是一个简单的Struts 2应用:用户进入一个登录页面,允许用户输入用户名和密码,在页面加入了用JavaScript写的简单校验,如果用户名和密码符合要求,则进入一个登录成功页面,同时跟踪名为Session的用户状态信息,登录失败进入一个登录失败页面。
如果登录成功可以根据Session的用户状态信息,点击按钮列出一个包含演员名字的表单,如果在登录失败的情况下点击按钮时则转到登录页面。
一、下载和安装Struts 2框架本文用的Struts 2框架是GA版struts-2.0.14。
如果Struts 2有最新的GA版,也可以下载最新的。
登录/download.cgi站点,下载Struts 2的最新GA版。
建议下载Struts 2的完整版。
将下载到的ZIP文件解压,得到的文件夹包含如下的文件结构:Apps:该文件夹下包含了基于struts2的示例应用。
Docs:该文件夹下包含了Struts2的相关文档,包括Struts2的快速入门,API文档等内容。
Lib:该文件夹下包含了Struts2框架的核心类库,以及Struts2的第三方插件类库。
Src:该文件夹下包含了Struts2框架的全部源代码。
安装TOMCA T,本文用的TOMCA T版本是tomcat-5.5.27。
安装JDK,本文用的JDK版本为1.5。
二、创建WEB应用为了更加清楚Struts2应用的核心,所以不使用IDE工具来建立这个应用,将徒手建立这个应用。
1、在tomcat的webapps目录下新建一个工程目录Struts2qs,再在这个目录下建立一个WEB-INF目录。
(本文tomcat的安装目录为D:\Program Files\apache-tomcat-5.5.27\)2、在tomcat里或者任何的WEB容器内,找到任何一个web应用,将web应用的WEB-INF目录下的web.xml文件(例如:D:\ProgramFiles\apache-tomcat-5.5.27\webapps\ROOT\WEB-INF目录下的web.xml文件)复制到第一步建立的WEB-INF目录下。
第3章 Struts框架结构
基于Struts进行开发 进行开发 基于
现在的软件系统通常都会采用多层的体系结构。 现在的软件系统通常都会采用多层的体系结构。 如图
Struts工作流程 工作流程
Actit类 类
Struts的控制器将事件(通常是HTTP的POST、GET等 的控制器将事件(通常是 的控制器将事件 的 、 等 请求)映射到一个Serlvet类。 请求)映射到一个 类 控制器通过读取配置文件以使用户不必对这些值进行硬 编码。 编码。
Action类 类
Action类的用途 类的用途
将HttpServletRequest转换为业务逻辑。要使用Action 转换为业务逻辑。要使用 转换为业务逻辑 必须创建它的子类并且覆盖其process()方法。 方法。 类,必须创建它的子类并且覆盖其 方法
ActionForm类 类
ActionForm类 类
模型( 模型(Model) )
模型表示应用程序的状态, 模型表示应用程序的状态,业务对象更新应用程序 的状态。 的状态。
ActionForm Bean在与用户的会话范围或者请求范围内 在与用户的会话范围或者请求范围内 表示模型的状态,而不是在系统的持久层。 表示模型的状态,而不是在系统的持久层。JSP文件使 文件使 标记读取来自ActionForm Bean的信息。 的信息。 用JSP标记读取来自 标记读取来自 的信息
JSP开发模式 -1 开发模式
JSP开发模式 -2 开发模式
Struts结构 结构
控制器( 控制器(Controller) )
第1章Struts2框架技术入门
1.1.1 Struts2的由来与发展
Struts2是在WebWork2基础发展而来的。和struts1一样, Struts2也属于 MVC框架。,但Struts2和struts1在代码编写风格上几乎不一样的, struts2有以下优点:
Struts2的应用可以不依赖于Servlet API和struts API。 Struts2提供了拦截器,利用拦截器可以进行AOP编程,实现如权限拦截等
6
2. Struts2软件包中主要文件
7
(1)apps文件夹:该文件夹中存放基于 Struts2的实例应用,这些实例对学习者来说 是非常有用的资料。 (2)docs文件夹:该文件夹中存放Struts2的 相关文档,Struts2 API、Struts2快速入门等 文档内容。 (3)lib文件夹:该文件夹中存放Struts2框架 的核心类库以及Struts2的第三方插件类库。 (4)src文件夹:该文件夹中存放Struts2框架 的全部源代码。
27
不同的开发者有自己的方式来实现模型组件,
Struts2框架的目的是使用Action来调用模型 组件。例如一个银行存款的模型组件,代码 如【例1-1】所示。
28
29
【例1-1】中的代码是一个完成某一功能的业
务逻辑模块,在执行saving(String accounts,String money)方法时能够通过调用 其他类或者直接访问数据库完成存款功能。 使用业务控制器Action可以调用该业务逻辑 组件在Action的execute()中实现,代码如 【例1-2】所示。
25
26
1.2.2 Struts2的模型组件
模型组件可以是实现业务逻辑的模块,可以
通过代码实例跟我学Struts2框架从入门到精通——Struts2框架入门示例
1.1通过代码实例跟我学Struts2框架从入门到精通——Struts2框架入门示例1.1.1Struts2 框架的入门示例1、新建立一个Web项目(1)项目名称为sshwebcrm、并且添加JSTL标签库但最好将项目的J2EE系统库的版本选择为J2EE5.0版,以便能够应用MyEclipse的可视化帮助。
(2)设置编译环境为JDK1.6Struts2默认需要Java5的运行环境,和支持Servlet API 2.4,JSP API 2.0的Web容器。
2、在项目中添加图片等资源文件(1)各个资源文件所在的目录当然,如果没有这些资源文件也是可以的,只是更符合实际的应用项目。
(2)最终的结果目录及文件3、在项目中添加index.jsp页面<%@ page isELIgnored="false" pageEncoding="GB18030"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><title>蓝梦集团CRM系统首页</title><meta http-equiv="pragma" content="no-cache" /><meta http-equiv="cache-control" content="no-cache" /><meta http-equiv="expires" content="0" /><meta http-equiv="keywords" content="蓝梦集团,CRM,账户" /><meta http-equiv="description" content="这是蓝梦集团CRM系统" /></head><body><jsp:include page="/commonPage/pageHead.jsp" ></jsp:include><jsp:include page="/commonPage/navMenuBar.jsp" ></jsp:include><br/><div id="someOnePageContent" ><strong>这是蓝梦集团CRM系统(客户关系系统)的首页内容</strong></div><br/><jsp:include page="/commonPage/authorInfo.jsp" ></jsp:include></body></html>在该页面中应用<jsp:include >动作标签包含其它的公共资源文件,从而形成一个完整结构的页面。
Struts入门(Struts框架响应客户请求的流程+国际化+异常)
Struts入门(Struts框架响应客户请求的流程+国际化+异常)Struts入门(Struts 框架响应客户请求的流程+国际化+异常)JAVA 2007-07-15 12:41:15 阅读47 评论0 字号:大中小订阅Struts实际上是在JSPModel2上实现的一个MVC的框架。
模型:如JavaBean EJB控制器:ActionServlet Action视图:JSP Struts客户化标签前端控制器:ActionServlet控制器:Action模型:ActionFormBean控制器与模型之间的映射:ActionMapping转发:ActionForward错误与信息处理:ActionErrorActionForm Bean它也是一种JavaBean,除了一些JavaBean的常规方法,另外它还包含一些特殊的方法用于验证其中数据的完整性。
Struts利用ActionFormBean来进行View组件与Controller组件之间表单数据的传递。
Struts框架把View组件接受的用户输入的表单数据保存在ActionForm bean之中,把它传递给Controller组件,Controller组件可以对ActionForm Bean中的数据进行修改。
Jsp文件使用Struts标签读取修改后的ActionForm Bean的信息,重新设置HTML表单。
对于采用Struts的Web应用,在Web应用启动时会加载并初始化控制器ActionServlet。
ActionServlet从struts-config.xml配置文件中读取配置信息,再把它们存放到ActionMappings对象中。
ActionServlet在接收到用户请求时会检查对应的ActionMapping的实例是否存在,如果不存在则会创建一个ActionMapping的实例,其中包含了把请求转发至那个Action的信息。
ActionServlet会根据配置文件检查Action对应的ActionForm 的实例,如果ActionForm的实例不存在,则会创建一个ActionForm的对象,并将客户提交的表单数据保存到ActionForm中。
struts 培训教程.doc
Struts 培训教程1概述在这份教程中,我将介绍struts框架和与struts框架有关的技术。
该教程主要分为以下几部分:▪MVC模式▪Struts的概念和体系结构▪Struts中主要技术的介绍▪用jBuilder8开发struts应用程序2MVC模式所谓的MVC模式,即模型—视图—控制器(model—view--controller)模式。
其结构图如下:▪Model端在MVC中,模型是执行某些任务的代码,而这部分代码并没有任何逻辑决定它对用户端的表示方法。
Model只有纯粹的功能性接口,也就是一系列的公开方法,通过这些公开方法,便可以取得模型端的所有功能。
在struts框架中,Model端是用Action和EJB技术实现的。
▪View端在MVC模式里,一个Model可以有几个View端,而实际上复数的View端是使用MVC的原始动机。
使用MVC模式可以允许多于一个的View端存在,并可以在需要的时候动态的登记上所需要的View.▪Controller端MVC模式的视图端是与MVC的控制器结合使用的。
当用户端与相应的视图发生交互时,用户可以通过视窗更新模型的状态,而这种更新是通过控制器端进行的。
控制器端通过调用模型端的方法更改其状态值。
与此同时,控制器端会通知所有的登记了的视图刷新显示给用户的表示。
在现在的j2ee应用中,我们在开发web server时基本上都是采用MVC模式来开发的,j2ee 规范也相应的为我们提供了技术支持,请看下图:1 浏览器用户执行servlet的doGet方法;2 servlet根据不同的请求,将他们分发到不同的Action中。
在这里,servlet的作用就好比是controller;3 Action调用EJB层的商务逻辑程序处理用户的请求;4 EJB层返回给Action处理结果;5 Action 对将处理结果返回给servlet。
在这里,可以将Action 和EJB共同看成是model6 servlet将信息发送给JSP页面。
Struts教程
Struts教程本教程将介绍Struts的基本概念和核心组件,以及如何使用Struts开发Web应用程序。
一、Struts概述1. 模型(Model):模型表示应用程序的数据和业务逻辑。
在Struts中,模型通常由Java类组成,用于处理数据操作和业务逻辑的实现。
2. 视图(View):视图是用户界面的呈现,通常是JSP(JavaServer Pages)文件。
它负责将数据呈现给用户,并处理用户输入。
3. 控制器(Controller):控制器负责处理用户请求,并将其分派给适当的模型和视图。
在Struts中,控制器由Action类实现,它根据请求的URL路径和参数执行相应的业务逻辑。
二、Struts的基本原理1.客户端发送HTTP请求到服务器。
2. 服务器的Servlet容器接收到请求,并将其分派给Struts的ActionServlet。
3. ActionServlet根据请求的URL路径找到相应的Action类。
4. Action类执行业务逻辑,并将业务结果存储在模型中。
5. Action类调用适当的视图呈现模型数据。
6.视图生成HTML页面并将其返回给客户端。
三、Struts的核心组件1. Action:Action是一个Java类,用于处理用户请求和执行业务逻辑。
它包含了不同的方法,如初始化、数据校验和处理逻辑等。
2. ActionForm:ActionForm是一个JavaBean,用于封装和验证用户输入的数据。
它通常与JSP页面的表单相对应,并且可以通过XML配置文件进行验证。
3. ActionMapping:ActionMapping用于将URL路径和参数映射到正确的Action类。
通过配置XML文件,开发人员可以指定不同URL路径的映射关系。
4. ActionServlet:ActionServlet是整个框架的核心控制器,负责接收客户端请求并将其分派给正确的Action类。
5. Struts配置文件:Struts配置文件是一个XML文件,用于配置整个应用程序的所有映射关系和其他设置。
struts教程详解
struts教程详解Struts是一种基于Java的开源Web应用程序框架,它旨在简化Web应用程序的开发过程。
它遵循MVC(Model-View-Controller)设计模式,提供了一种结构化的方法来开发Web应用程序。
Struts的核心是一个前端控制器(Front Controller),它是整个框架的核心。
它接收来自用户的请求,并将其分派到相应的处理程序上。
在Struts中,这个前端控制器被称为ActionServlet。
在Struts中,应用程序被划分成一组逻辑部件,称为Action。
每个Action都相当于Web应用程序中的一个页面或操作。
当用户请求一些Action时,ActionServlet将负责查找并执行相应的处理程序。
在Struts中,业务逻辑被封装在一个中间部件中,称为ActionForm。
它是一个JavaBean,用于在视图和控制器之间传递数据。
ActionForm可以捕获用户输入的值,并将其传递给业务逻辑处理程序。
Struts还提供了一种验证框架,用于验证用户输入的数据。
通过使用这个验证框架,开发人员可以定义数据的验证规则,并在处理用户输入之前对其进行验证。
这可以有效地减少服务器端的数据校验工作。
在使用Struts开发Web应用程序时,需要按照以下步骤进行:1. 配置web.xml文件:在web.xml文件中配置Struts的前端控制器ActionServlet。
2. 创建Action:创建处理用户请求的Action类,并在struts-config.xml文件中进行相应的配置。
3. 创建ActionForm:创建用于封装用户输入数据的ActionForm类,并在struts-config.xml文件中与相应的Action进行关联。
5. 配置struts-config.xml文件:在struts-config.xml文件中配置Action、ActionForm和全局配置信息,如消息资源文件和异常处理器等。
第3讲 Struts入门
3.1 Struts 的工作原理
Struts是对 是对JSP Model2设计标准的一种实现,模型(Model)、视图(View)和控制 设计标准的一种实现, )、视图 是对 设计标准的一种实现 模型( )、视图( ) 器(Controller)三个部分。 )三个部分。 在一般情况下, 框架中: 在一般情况下, Struts框架中: 框架中 模型: 由JavaBean或者 模型: 或者EJB构成(与以前的一样); 构成(与以前的一样); 或者 构成 视图: 页面组成, 自己的标签库( 标签库) 技术, 视图: 由JSP页面组成,并且定义了自己的标签库(struts标签库)结合原有的 技术, 页面组成 并且定义了自己的标签库 标签库 结合原有的jsp技术 实现jsp页面的设计 实现 页面的设计 控制器: 控制器: 创建了一个内在的Servlet,叫做ActionServlet, ,叫做 创建了一个内在的 , 建立了一组叫做Action类的对象实现业务逻辑处理, 建立了一组叫做Action类的对象实现业务逻辑处理, 一组叫做 建立FormBean,实现数据的传递。(??这个属于哪部分,不同的书给出不同的解 ,实现数据的传递。(??这个属于哪部分, 建立 。(??这个属于哪部分 释) 构成控制器。 由ActionServlet、 FormBean和Action构成控制器。 、 和 构成控制器 视图(页面 )与业务逻辑组件(Action)的关系在一个叫struts-config.xml的配置文 视图 页面jsp)与业务逻辑组件( ) 的关系在一个叫 的配置文 页面 件中声明。 件中声明。 注意:视图组件、控制器与业务逻辑组件之间没有代码上的联系, 注意:视图组件、控制器与业务逻辑组件之间没有代码上的联系,它们之间的关系在 没有代码上的联系 struts-config.xml中声明,这样大大提高了 中声明, 程序的可移植性和可维护性。 中声明 这样大大提高了web程序的可移植性和可维护性。 程序的可移植性和可维护性
最傻瓜全面的STRUTS入门教程
目前见到的最傻瓜全面的STRUTS入门教程^_^一 Jakarta Struts学习之新手上路Web应用开发早期曾经是那么的―简单‖,那个时候还只是纯HTML页面和浏览器特效而已。
由于还涉及不到动态数据操作和商业应用,也就省去了很多麻烦。
但是这样的―简单‖只是过眼云烟,如今我们不得不为复杂的基于Web的商业应用开发采用诸多技术。
本文将介绍如何利用Struts进行应用开发的前台整合的开发过程。
Struts是一个为开发基于模型(Model)-视图(View)-控制器(Controller)(MVC)模式的应用架构的开源框架,是利用Java Servlet和JSP构建Web应用的一项非常有用的技术。
阅读本文需要读者具有以下几方面的开发经验:JSP、Servlet、自定义标签库(custom tag library)和XML。
如果读者想补一补自定义标签库的知识,可以参考作者以前关于这方面的文章。
而本文也是关于介绍如何使用Struts系列文章的上半部分,本系列暂定分为上下两部分。
新手上路注意事项Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。
其最初萌芽于Craig McClanahan的构思,诞生至今也一年有余了(译注2)。
现在,Struts是Apache软件基金会旗下Jakarta项目组的一部分,其官方网站是[url]/struts[/url]。
由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。
Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。
目前的Struts 1.0修正版包括完整的文档,既可以说是用户文档又是开发指导文档。
如果读者是JSP新手,或者对MVC设计模式不是太熟的话,可能刚上路时会比较慢,不过不用担心,要相信自己会尽快赶上的:)此外,应该注意到尽管当前Struts只是1.0版,但已经相当稳定了,作者从Struts 0.9版就在一个大规模的项目中应用了(最近升级到1.0版),至今还没有遇到什么麻烦问题。
java之struts框架入门教程
java之struts框架⼊门教程本教程主要讲述struts的简单⼊门操作使⽤的是myeclipse⼯具1.创建web项⽬2.复制struts必要的jar包到 WebRoot/WEB-INF/lib 下jar包列表如下:asm-3.3.jarasm-commons-3.3.jarasm-tree-3.3.jarcommons-fileupload-1.2.2.jarcommons-io-2.0.1.jarcommons-lang3-3.1.jarfreemarker-2.3.19.jarjavassist-3.11.0.GA.jarognl-3.0.5.jarstruts2-core-2.3.4.jarxwork-core-2.3.4.jar导⼊后的项⽬结构如图3.在 WebRoot/WEB-INF 下添加 web.xml内容如下:<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="/2001/XMLSchema-instance" xmlns="/xml/ns/javaee" xsi:schemaLocation="/xml/ns/javaee /xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" <display-name>01struts2_helloworld</display-name><!-- struts2的核⼼过滤器配置 --><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>*.action</url-pattern></filter-mapping><welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file><welcome-file>default.html</welcome-file><welcome-file>default.htm</welcome-file><welcome-file>default.jsp</welcome-file></welcome-file-list></web-app>⽬录结构如下:4.在src下添加java类来接收请求public class HelloAction {////struts2的处理⽅法都是 public String的默认执⾏execute,并且处理⽅法没有参数public String execute(){System.out.println("请求被接收了...");return "success";}}5.在src下,添加struts.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""/dtds/struts-2.3.dtd"><struts><package name="default" extends="struts-default" namespace="/"><action name="hello" class="cn.qm.action.HelloAction"><result name="success">/index.jsp</result></action></package></struts>注意:⽂件名需要是 struts.xml ,如果⽂件名拼写错误,或者是struts.xml⽂件的路径错误,或者struts.xml内容有错误,后⾯请求时都会报"There is no Action mapped for namespace / and action name" 错误⽬录结构如下图:6.修改请求时项⽬的映射路径点击项⽬右键,选择 Properties输⼊web,找到Context Root ,并且修改Web Context-root 为 /Hello ,如图7.配置项⽬到服务器在Servers下,Tomcat 8.x 上右键 Add Deployment选择HelloStruts项⽬效果图8.点击上图绿⾊三⾓,运⾏9.在浏览器输⼊ http://localhost:8080/Hello/hello.action 检测是否接收到请求效果如下myeclipse的console中显⽰如下:浏览器效果10.为了是浏览器显⽰效果更明显,可以把This is my JSP page 替换为 hello struts index.jsp修改如下注意:pageEncoding 修改为 utf-8 的编码⽅式<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'index.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body>hello struts ... <br></body></html>效果图:ok,本教程结束因为参考的是之前的⼀些⽼的资料,所以操作⽅式相⽐现在回相对落后,但是,这⾥只是为了帮助⾃⼰记录知识,以及回忆操作后⾯如果有机会,会使⽤相对较新的⽅式来创建struts这⾥附上⼤致看了⼀下,这⾥⽤到了maven进⾏jar包管理,并且其中对于jar使⽤⽅便了很多。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
做完后,认真总结和思考。
再接着,你把上面的都基本消化了,但是总隐隐觉得不够系统和完整,你就开始做几个CRUD的应用,完成普通的增删查改的工作。在做这些应用的过程中,你要认真总结核心配置文件struts-config.xml里面的8个重要节点元素的配置以及它们的顺序,每个节点的重要属性,特别是<action-mappings>里的<action>子节点的属性是重中之重,一定要好好理解并灵活运用。你也要开始系统地学习STRUTS里面的标签。但这个时候千万不要追求大而全,只学习几种常用的标签就可以了,重点放在html,bean,还有logic标签上。这时候还有些小知识点你也许要用到,譬如:文件上传控件,防止信息重复提交 ,自定义标签,cookie的使用等等。这就是个相对比较耗时间和精力的阶段了,你要做的就是不断地参考,不断地思考,不断地总结,最好还能和志同道合的人不断地争论。
大家知道,STRUTS是Apache 基金会Jakarta 项目组的一个开源项目,它采用MVC设计模式,是一个基于Sun J2EE平台的WEB表现层框架。这里有几个概念值得大家关注:开源,MVC,J2EE,WEB表现层,框架。我来逐一解释。 网管u家
开源:不用多说,源代码可以让你一行一行 Nhomakorabea细分析,深入了解其内部实现机制。
WEB表现层:我们常说的J2EE四层体系架构:WEB表现层,业务逻辑层,持久层,数据库层。这是一种逻辑划分。WEB表现层的特点就是依靠WEB服务器,直接跟客户端(一般是WEB浏览器)打交道。STRUTS处于WEB表现层,主要就是接受并处理用户请求,并将处理结果响应给用户。
框架:通俗地讲,框架就是一个“半成品”,它做了一些通用的东西让你去配置和扩展。框架的强大之处不是说它能让你做什么,而是它不能让你做什么!它使混乱的东西变得结构化。我们来打个比方。框架就像是一间有很多屋梁的房子,当你需要扩建房子的时候,譬如增加新的房间、窗户和过道或者在卧室增加一个壁炉,由于屋梁的限制,你并没有什么其他的选择。虽然较少的屋梁会让你有更多的选择,但是当台风来袭或者发生地震的时候,你让家人住在这样一间只有屋顶的房子里,恐怕不会觉得安全吧。总之,框架是在结构和创造力之间的一个精确的天平。
首先,你要照书本或者网上的例子跑一个最简单的STRUTS应用,就是在客户端显示一个HELLOWORLD的那种,这叫先睹为快。在这里你开始接触到做STRUTS应用需要的东西:STRUTS的JAR包,核心控制器ActionServlet在web.xml上的配置,针对具体用户请求URL的Action的编写以及STRUTS应用的核心配置文件struts-config.xml。做完后停下来思考一下。
J2EE:J2EE是使用Java技术开发企业级应用的一种事实上的工业标准。J2EE将组成一个完整企业级应用的不同部分纳入不同的容器(Container),每个容器中都包含若干组件(这些组件是需要部署在相应容器中的),同时各种组件都能使用各种J2EE Service/API。其中最常用的容器就是WEB容器(就是我们常说的WEB服务器),里面最核心的两个组件就是JSP和SERVLET。而STRUTS就是基于这两种技术,依赖于WEB容器。
然后,你开始跑一个稍微大点的用户登陆的应用,成功就跳转到我们的主页面,失败就继续回到登陆页面。我们引入ActionForm组件和对后台数据库的操作。这个时候MVC发挥作用了。ActionServlet和自己编写的Action分别充当前,后端控制器组件,DAO/DTO充当了模型组件,JSP充当视图组件。struts-config.xml也变的饱满起来,上面开始多了些配置datasources,form-beans,action-mappings。做完后到网上找一些好的参考资料或者利用自己经典的STRUTS的案头书(最好是有图解),开始认真琢磨STRUTS的运行原理和执行流程,特别要好生体会ActionForm组件的作用和struts-config.xml这个核心配置文件每一处用到的配置。这个时候,你应该开始有些领悟:我们自己写的Action还有ActionForm类一定要继承框架已有的Action和ActionForm,写完了之后还必须得将它们配置到struts-config.xml中去。
由于STRUTS框架在全球的广泛使用,学习它的人也非常之多,但是大部分人花费了太多不必要的时间和精力在一些不太重要的地方,导致学习代价高昂,成效也不是很好。我这里根据多年培训经验的总结,精心设计了一套学习STRUTS框架的曲线,让大伙学习STRUTS框架既快且准,节省大伙宝贵的时间,一定会对各位学习者大有帮助。
MVC:它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。MVC享有“全球第一设计模式”的美誉,是当前很流行的一种设计理念和思想,你要学好STRUTS,必要要让这种思想深入骨髓。(我在另一篇文章中对MVC进行过阐述,关于MVC的流程及例子请参阅拙作:/lenotang/archive/2008/06/18/2562348.aspx)
好了。这里假设大家已经理解了上述概念,并会用JSP/SERVLET做一些普通的WEB应用程序。现在就让我们来看看如何学习STRUTS框架吧。这里我以STRUTS 1.2版本为例。(STRUTS 2.0的实现跟以前的版本有很大不同,我以后会讲到。)让我们出发吧! 中国网管联盟
上面我粗略地勾勒了一下学习STRUTS的曲线。归纳一下:学习框架需要循序渐进,实例驱动,思考总结。实际上,我在做培训的过程中发现,如果我们在学习STRUTS之前,自己动手写过一个简易的MVC框架,学习STRUTS将会非常轻松,大概只需要五天的时间,而且可以学的非常好。大家不要认为框架就是很庞大很复杂的怪兽,自己绝对无法写出来。其实,无非就是将我们所理解的朴素思想用代码实现出来罢了。
接着,你已经对STRUTS框架有了大致的了解,可能开始对STRUTS的其他主题感兴趣了,OK,现在扩充你的登陆应用吧。先加上验证,不然你的系统会不堪一击。验证分为客户端验证和服务器端验证。服务器端的验证我们可以在ActionForm里面的validate()方法里做,也可以在随后的Action类的execute()方法里做,甚至可以使用验证框架。这里大家要把重点方在验证框架的学习上。做好后再加上资源国际化I18N,针对不同区域不同语言的客户提供不同语言版本的页面显示。我们开始写资源属性文件,开始在struts-config.xml里面配置<messages-resource>,开始使用STRUTS自带的标签<html:errors/>,<bean:message/>等。这个里面涉及的知识点都很多,需要大家耐心细致地学习。大家在跑这个应用的时候会发现各种各样的异常和问题。不要害怕,这些错误都是我们的好朋友,我们要把它们通通都记录下来,并坚韧地排除掉它们。这里要记住:尽量避免重复犯错,不要在同一个地方跌倒两次。 网管网www_bitscn_com
慢慢地,你对STURTS框架有了一个全局性的宏观把握,用它来完成一些小模块的开发已经没有太大问题,你已经开始志得意满了:STRUTS不过如此嘛!如果你到了这一步,我首先要恭喜你,你接近成功了。但我也要小心地提醒你:STRUTS里面还有很多东西值得挖掘!你不妨多问一下自己,软件有一个人开发的吗?页面我使用了良好的布局吗?页面导航都是那么简单吗?我的所有做法就不能有更简单的实现了吗?我对STRUTS框架的好处了如指掌了吗?好的,如果你想通了,带着这些问题,你就会重新披挂上阵,开始学习STRUTS的多模块开发,开始学习tiles框架,开始认真研读STRUTS的源代码,开始学习一些更简单有效的Action组件类和ActionForm组件类……,真应了一句古语:吾生也有涯,知也无涯!最后呢,大家可能会悟出一些道理:譬如STRUTS框架基本的好处就是用配置代替编码,它是一个半成品,是让我们扩展和配置的等等。