MVC模式-----struts2框架(2)
MVC模式-----struts2框架
第一个struts2程序
struts2框架是通过一个过滤器将struts2集成到Web应用程序中的,这个过滤器的对象是StrutsprepareAndExecuteFilter。struts2框架通过过滤器对象,获取web应用中的Http请求,并将http请求转发到的指定Action进行处理,Action根据处理结果返回给用户相应的页面。
创建一个简单的struts项目,需要创建于用户进行交互并获取输入信息的jsp页面:呈现最终信息的页面;创建一个用于业务逻辑处理的类;创建用于连接动作、视图及控制器的配置文件。
一、创建JSP页面
在web项目这,创建一个输入信息的index.jsp页面,通过form表单的action属性值调用struts框架中的Action对象,提交后,呈现success.jsp页面。
(补充form知识点:表单中的action属性规定在提交表单数据时,向何处发送数据)
http://localhost:8080/struts/index.jsp页面:

使用form表单提交用户的输入信息,输入的用户信息的name属性值与Action对象中的属性必须一一对应,从而方便控制器Action通过getXxx()方法获取用户的输入信息。
二、创建Action
在struts2框架中,提交的表单数据会自动注入到实现Action接口类对象相应的属性中,与Spring框架中的IOC注入原理相同。在实现Action接口的类中,一般通过setter方法为对象的属性进行注入。
Action对象的作用是处理用户的请求,创建继承ActionSupport的类,用于处理用户提交的表单信息。
目录:struts\src\action\MessageAction.java:

案例解析:本案例中,创建继承ActionSupport的类,用于处理用户的输入信息。该类中定义String型的私有成员变量message,并定义其setter和getter方法,通过getMessage()方法获得用户输入的信息。声明Map型的变量session,通过ActionContext类提供的getContext()方法获取ActionContext类的对象,再通过该对象调用getSession()方法获取Map型的变量session,将用户输入的信息message保存到session中。
在该类中重写execute()方法,通过if语句判断用户输入的信息是否是空字符串或null,若是则str为“输入信息不能为空!”,否则执行else语句,str是“信息不为空!”。通过if语句判断str的值,若值是“信息不为空!”,则返回字符串success,否则返回failed。
三、struts.xml文件
在struts.xml配置文件中,配置用户请求URL和控制器Action之间的映射信息,并转发用户的请求。
struts\src\struts.xml配置文件代码:

案例解析:本案例中,<action>节点没有指定method属性的值,则默认执行execute()方法。根据Action类中execute()方法的返回值,执行相应的<result>节点。若注册成功,则success.jsp页面返回注册信息;否则返回到注册页面。<package>节点的name属性指定包的名称,在struts2的配置文件中不能重复,它并不是真正的包名,只是为了管理Action。namespace和<action>节点的name属性,决定Action的访问路径(以“/“开始)。<action>节点的class属性指定类的路径,包含包名和类名。method指定类中的方法。<result>节点的name属性默认值为success。
四、web.xml文件
配置文件web.xml是一种J2EE配置文件,决定servlet容器的http元素需求如何进行处理。严格地说,它是配置struts2框架的文件。
在struts1.x中,struts框架是通过servlet启动的,而在struts2.x中,struts框架是通过Filter过滤器启动的。
web.xml配置文件代码:

案例分析:该web.xml文件是struts2框架请求的接入点,接入点是一个过滤器,因此在web.xml中定义一个StrutsPrepareAndExecuteFilter类的接入点。
在StrutsPrepareAndExecuteFilter类的init()方法中,读取类路径下默认的配置文件struts.xml,然后完成初始化操作。
过滤器<filter>节点中定义过滤器名称<filter-name>是struts2,并通过<filter-class>指定struts2类的全限定名,即包名和类名。在<filter-mapping>节点中<filter-name>指定名称与之前定义的相同,并通过<url-pattern>节点指定过滤器要过滤的文件的后缀名是*.action。
五、显示信息
在struts.xml配置文件中,配置了Action对象处理完成后,显示用户输入信息的页面success.jsp
地址:http://localhost:8080/struts/success.jsp

案例分析:通过session对象的getAttribute()方法,获取存储的用户输入信息message,并在页面显示。
六、运行并浏览器查看
MVC模式-----struts2框架(2)的更多相关文章
- MVC模式-----struts2框架
MVC模式-----struts2框架 一.struts MVC模式 1.概述 MVC是模型(model)---视图model(view)---控制器(control)的缩写,是一种用于将逻辑.数据和 ...
- iOS通用的MVC模式项目框架MobileProject
最近项目比较不赶的情况下,决定把一些通用.常用的内容集成在一个项目框架中,意在新项目中可以快速搭建:其实经过几个项目后,总是有一些重复的创建工作,可以使用本项目的内容直接进行开发:采用的是MVC的分层 ...
- MVC模式tp框架四中路由形式
①基本get形式 http://网址/index.php?m=分组&c=控制器&a=操作方法 该方法是最底层的get形式,传统的传递参数方式,不安全. ②pathinfo路径形式[默认 ...
- Struts2框架基础
Struts2框架基础 1.Java的框架 1.1.框架简介 在大型项目开发过程中,经常会使用到一些框架,这样做好的好处是能够提高工作效率,在java中最常用的的框架就是SSH,这其实是三个框架的简称 ...
- 实现struts2框架
Struts最早是作为Apache Jakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServer Pages .Servlet.标签库以及面向对象的技术水准.最初的 ...
- 从零打造在线网盘系统之Struts2框架配置全解析
欢迎浏览Java工程师SSH教程从零打造在线网盘系统系列教程,本系列教程将会使用SSH(Struts2+Spring+Hibernate)打造一个在线网盘系统,本系列教程是从零开始,所以会详细以及着重 ...
- 什么是MVC模式?
MVC (Model View Controller) 是一个设计模式,使用MVC应用程序被分成三个核心部件:模型.视图.控制器.它们各自处理自己的任务.M是指数据模型,V是指用户界面,C则是控制器. ...
- struts2的MVC模式
MVC是一种架构型模式,它本身并不引入新的功能,只是用来指导我们改善应用程序的架构,使得应用的模型和视图相分离,从而得到更好的开发和维护效率. 在MVC模式中,应用程序被划分成了模型(Model).视 ...
- 第九十七天请假 PHP TP框架 MVC模式
MVC : M->Model 模型(数据层) V->View 视图(视图层) C->Controller 控制器(逻辑层) M : 操作数据(连接数据 ...
随机推荐
- 几分钟几张图教你学会如何使用UML
很多初次接触UML的朋友们可能会感觉它各种各样的线条.关系.描述等晦涩难懂.本篇文章简单介绍了一下其中几个图,用最朴实的语言结合上图片来让你一眼就能理解他们,如果您在阅读的过程种发现错误之处恳请您在评 ...
- 吴恩达机器学习笔记5-梯度下降I(Gradient descent intuition)
梯度下降是一个用来求函数最小值的算法,我们将使用梯度下降算法来求出代价函数
- [Postman]Cookies(12)
Postman的本机应用程序提供 MANAGE COOKIES 模式,允许您编辑与每个域关联的Cookie. 前往cookie经理 要打开MANAGE COOKIES模式,请单击“ 发送”按钮下的 ...
- [Postman]请求(6)
您可以从以下位置创建并保存请求: 工作区构建视图 新按钮 启动屏幕 使用新按钮 在标题工具栏中,单击“ 新建”按钮. 出现“新建”屏幕. 在SAVE REQUEST屏幕中: 输入您的请求的标题和说明. ...
- mysql数据统计技巧备忘录
mysql 作为常用数据库,操作贼六是必须的,对于数字操作相关的东西,那是相当方便,本节就来拎几个统计案例出来供参考! order订单表,样例如下: CREATE TABLE `t_order` ( ...
- MySQL数据库的锁机制
在并发访问情况下,很有可能出现不可重复读等等读现象.为了更好的应对高并发,封锁.时间戳.乐观并发控制(乐观锁).悲观并发控制(悲观锁)都是并发控制采用的主要技术方式. 锁分类 ①.按操作划分:DML锁 ...
- 图片格式PGM缩写
PGM是Portable Gray Map的缩写.它是灰度图像格式中一种最简单的格式标准.另外两种与之相近的图片格式是PBM和PPM.它们分别相应着黑白图像和彩色图像. PGM的数据存放方式相比于JP ...
- Java高阶回调,回调函数的另一种玩法
工具类package com.sctek; import java.lang.reflect.Field; import android.os.CountDownTimer;import androi ...
- Linux编程 20 shell编程(shell脚本创建,echo显示信息)
一概述 前面19章里已经掌握了linux系统和命令行的基础知识,从本章开始继续学习shell脚本的基础知识.在大量编辑shell脚本前,先来学习下一些基本概念. 1.1 使用多个命令 Shell ...
- Java IO API记录
文件路径: public static final String FILEPATH= File.separator+"Users"+ File.separator+"xu ...