`
文章列表
4.4  Action的配置 4.4.1  <package>的配置 通过上面的示例可以看出,Action需要在struts.xml中配置才可以使用,而且Action应该配置成为<package>元素的子元素,那么<package>元素的功能是什么呢?        <package>元素可以把逻辑上相关的一组Action、Result、Intercepter等元素封装起来,形成一个独立的模块,package可以继承其他的package,也可以作为父包被其他的package继承,比如前面示例中配置的“<package na ...
4.3  Action的数据 4.3.1  数据来源 在helloworld示例里面,在运行Action的execute方法的时候,你会神奇般的发现,Action的属性是有值的,而这正是Action进行请求处理所需要的数据。那么,这些数据从何而来呢?        很明显,这些数据就是你在登录页面填写的数据,换句话说,这些数据来源于用户请求对象,也就是request对象。        可是,Struts2怎么知道,页面上的值如何和Action的属性进行对应呢?        这就涉及到如何把页面的数据和Action进行对应的问题了,接下来就来讨论页面的数据和Action的三 ...
4.2  Action的实现 4.2.1  POJO的实现 在Struts2中,Action可以不实现任何特殊的接口或者继承特殊的类,仅仅是一个POJO(Plain Old Java Object,简单的Java对象)就可以,但是要有一个公共的为空参的构造方法,其实缺省的构造方法就可以,还要有一个execute方法,定义格式如下:   java代码:
4.1  Action基础 4.1.1  Action是什么 在Struts2中,一个Action类代表一次请求或调用,每个请求的动作都对应于一个相应的Action类,一个Action类是一个独立的工作单元。 也就是说,用户的每次请求,都会转到一个相应的Action类里面,由这个Action类来进行处理,因此说一个Action类代表了用户的一次请求或调用。        换句简单的话来说,Action就是用来处理一次用户请求的对象。 4.1.2  Action能干什么 认识了Action是什么过后,来看看Action能干什么。 1:先看看前面HelloWorld中实现的 ...
3.2  Struts2的运行流程 3.2.1  运行流程 先回忆一下在HelloWorld中,我们做了什么: 在web.xml中配置了Struts2的过滤器 写了一个Action类,名称为HelloWorldAction 在struts.xml中配置了这个Action类 写了两个页面,一个是登录页面,一个是欢迎页面 只做了这么点事情,就可以在Struts2的帮助下顺利完成功能调用,那么Struts2内部是怎么运行的呢?逐步来根据架构图进行分析。 1:首先是在登录页面,用户填入帐号和密码,然后点击提交按钮,好了,就从这里开始分析背后的处理流程,这是我们进行分析的起点 ...
3.1  Struts2的系统架构 3.1.1  Struts2的系统架构 在上一章通过HelloWorld示范了Struts2的基本开发过程,这还远远不够,因为我们都知道,在使用一个框架的时候,除了要掌握如何使用框架进行开发外,最好还要知道框架做了些什么,以及基本的运行流程,这对以后的学习是很有帮助的。 那么接下来就来看看Struts2的系统架构和内部运行流程。        Struts2的官方文档里附带了Struts2的架构图,在这张图上展示了Struts2的内部模块,以及它们的运行流程。 图3.1 Struts2架构图 这张图上分了好多块,彼此之间相互联系, ...
2.5  开发中的一些小窍门 2.5.1  概述 通过以上内容的学习,应该基本了解了Struts2的开发流程,但是,有一些细节功能你并没有看到。比如,在struts.xml中,需要注册Action类的全类名,这个全类名是哪里来的?是完全手写的 ...
2.4  Struts2的HelloWorld 2.4.1  概述 在上一个小节中,使用Model2来实现了一个简单的登陆功能,在本节里面,使用Struts2来实现同样的功能。Model2和Struts2都实现了MVC,因此Struts2的实现和上面Model2的实现是类似的。        ...
2.3.Struts2的HelloWorld 之从Servlet+JSP+JavaBean实现MVC开始 2.3.1  起点概述 考虑到大部分朋友都是有一定经验的web开发者,因此从Servlet+JSP+JavaBean实现MVC开始,再过渡到Struts2的开发,这样能让大家把以前的知识自然迁移到Struts2上,使得学习曲线变得平滑。 说明一下,由于本机的8080端口被别的软件占用了,所以把tomcat改到了9080端口,以后在程序里出现的时候,也将是9080。        注意:如果要修改Tomcat的端口,需要修改Tomcat中的server.xml配置文件,并且 ...
  2.1  概述 2.1.1  功能概述 通过上一章的讲述,明白了Struts2是什么,有什么以及能干什么,接下来就该来讨论怎么做的问题了,也就是讨论如何使用Struts2来开发基于MVC的web应用。 按照惯例,学习一个新的东西,都是从HelloWorld起步的,这里也不例外,本章就一起来看一个Struts2的HelloWorld实现。 本章会从搭建Struts2的开发环境开始,用Struts2来开发一个简单的HelloWorld,以便大家熟悉一下Struts2的基本开发方式以及各部分的写法。 在HelloWorld中,不去实现复杂的业务逻辑,只做一个简单的登录功能。 ...
1.3.1  Struts2和MVC 前面讲到Struts2是一种基于MVC的Web应用框架,下面就来看看Struts2和MVC的关系。 当然,由于我们还没有深入学习Struts2的各部分功能,这里只是先给大家讲一下Struts2是如何跟MVC对应的,其中一些名词所代表的具体功能,比如前端控制器(FilterDispatcher)、动作(Action)、结果(Result)等,在以后都会有专门的章节去讲解,现在不必在意他们的细节。 图1.5 Struts2中的MVC关系     控制器——FilterDispatcher        用户请求首先到达前端控制器Fil ...
1.2    Struts2 基础 1.2.1  Struts1时代 随着时间的推移,Servlet+JSP+JavaBean模型暴露出了它的缺点: 流程凌乱:Servlet在完成对用户请求的处理后,下一个页面是谁?如何跳转过去?这些都是在Servlet里面直接写代码来完成的。导致Servlet既要处理请求,还要负责页面的流程,使得Servlet功能不够单一,更要命的是很难整体把握整个系统的页面流程,因为流程被分散到各个Servlet里面了。 数据传递无序:在Model2模型里面,通常情况下,数据都是使用JavaBean传来传去的,使用上比较麻烦,而且在面临复杂数据嵌套的时候使 ...
1.1  MVC模式 1.1.1  MVC模式简介 MVC是一种架构型模式,它本身并不引入新的功能,只是用来指导我们改善应用程序的架构,使得应用的模型和视图相分离,从而得到更好的开发和维护效率。        在MVC模式中,应用程序被划分成了模型(Model)、视图(View)和控制器(Controller)三个部分。其中,模型部分包含了应用程序的业务逻辑和业务数据;视图部分封装了应用程序的输出形式,也就是通常所说的页面或者是界面;而控制器部分负责协调模型和视图,根据用户请求来选择要调用哪个模型来处理业务,以及最终由哪个视图为用户做出应答。 MVC模式的这三个部分的职责非常明 ...
Global site tag (gtag.js) - Google Analytics