Apache Struts

SpringMVC工作流程

对着背影说爱祢 提交于 2020-04-07 12:22:41
一、工作流程 话不多说直接上图: 1、用户发送 请求 被 前端控制器 DispatcherServler接收 2、DispatcherServler收到前端的请求后会调用 处理器映射器 HandlerMapping 3、处理器映射器找到具体的处理器(可以根据XML配置、注解等方式查找和匹配),然后生成处理器对象和处理器拦截器(如果有配置的话会生成),最终将生成的 处理器对象 返回给前端控制器DispatcherServler。 4、前端控制器DispatcherServler收到处理器对象之后,则调用 处理器适配器 HandlerAdapter 5、HandlerAdapter处理器适配器通过适配调用具体的 处理器 ( Controller ,也称后端控制器)。 6、 Controller 执行完并返回 ModelAndView 。 7、 HandlerAdapter将c ontroller 执行结果ModelAndView返回给前端控制器DispatcherServlet。 8、前端控制器DispatcherServler接受返回的 ModelAndView 之后传给 ViewReslover 视图解析器。 9、 ViewReslover 视图解析器解析并返回具体的 View 。 10、 DispatcherServlet 前端控制器根据 View进行渲染视图,

北京哪里有开印刷费发票

倾然丶 夕夏残阳落幕 提交于 2020-04-07 05:25:33
电薇13530507261 保真,可先开验,陈晨。 框架是类级别的拦截,每次请求就会创建一个Action,和Spring整合时Struts2的ActionBean注入作用域是原型模式prototype(否则会出现线程并发问题),然后通过setter,getter吧request数据注入到属性。 b、Struts2中,一个Action对应一个request,response上下文,在接收参数时,可以通过属性接收,这说明属性参数是让多个方法共享的。 c、Struts2中Action的一个方法可以对应一个url,而其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了 来源: oschina 链接: https://my.oschina.net/u/4500368/blog/3222401

浅谈MVC、MVP、MVVM架构模式

柔情痞子 提交于 2020-04-06 14:14:07
参考阮一峰网络日志,廖雪峰官方网站,以及部分网络资料总结 mvc(model-view-controller) 概念解释: MVC是三个单词的首字母缩写,它们是Model(模型)、View(视图)和Controller(控制) 最上面的一层,是直接面向最终用户的 "视图层"(View) 。它是提供给用户的操作界面,是程序的外壳。 最底下的一层,是核心的 "数据层"(Model) ,也就是程序需要操作的数据或信息。 中间的一层,就是 "控制层"(Controller) ,它负责根据用户从"视图层"输入的指令,选取"数据层"中的数据,然后对其进行相应的操作,产生最终结果。 简单理解:用户操作->View(负责接收用户的输入操作)->Controller(业务逻辑处理)->Model(数据持久化)->View(将结果反馈给View) 联系与作用 :这三层是紧密联系在一起的,但又是互相独立的,每一层内部的变化不影响其他层。每一层都对外提供接口(Interface),供上面一层调用。这样一来,软件就可以实现 模块化 ,修改外观或者变更数据都不用修改其他层,大大方便了维护和升级。 JavaEE中的SSH框架(Struts/Spring/Hibernate),Struts(View, STL)-Spring(Controller, Ioc、Spring MVC)-Hibernate(Model,

开源:实现MVC与流程控制的框架包LCMVC

点点圈 提交于 2020-04-06 08:51:08
代码,是每个程序员的财富。积累代码,就是积累财富;编写高效代码,就是创造财富。 最近在对”财富“进行整理的时候,找到了我10多年前自己写的框架包,无比怀念,处理成了maven工程,生成了javadoc,git到了开源中国的Gitee上,进行一下开源,大概讲解一下,地址: https://gitee.com/lichongcoco/LCMVC 故事开始大概在2008年左右,我毕业工作2年的时候,那时候开发还是用struts1,现在流行的spring还没那么火,在实际工作中基本没遇到和看到,页面还是jsp的,JDK还是1.6的,还在使用mybatis的前身ibatis。 在空闲的时候,自己开始思考mvc的机制,struts是怎么跑起来的,感觉不是很难, 自己就写了一个简易的mvc,然后逐步丰富功能,增加了事务处理,异常处理,统一所有数据,上送数据统一校验等等 。 后来写的功能流程多了,就渐渐有了一些模块化开发的萌芽和想法,要是通过配置xml,不写具体代码,就能完成一个业务流程,应该也能实现,于是,加上了基于配置化的业务流转功能, 理想状态下,准备好基础组件,配置好数据xml,业务流转xml,就可以不写一行代码(服务端)的跑起来 。 同时增加了一些常用工具类,开发更方便。 现在看来,就好似原始版本的springmvc,据说当时springmvc之所以被开发,就是作者觉得mvc没那么难

集成测试——Spring TestContext框架支持详细解说

大兔子大兔子 提交于 2020-03-09 11:17:50
概述 集成测试是在单元测试之上,通常是将一个或多个已进行过单元测试的组件组合起来完成的,即集成测试中一般不会出现Mock对象,都是实实在在的真实实现。 对于单元测试,如前边在进行数据访问层单元测试时,通过Mock HibernateTemplate对象然后将其注入到相应的DAO实现,此时单元测试只测试某层的某个功能是否正确,对其他层如何提供服务采用Mock方式提供。 对于集成测试,如要进行数据访问层集成测试时,需要实实在在的HibernateTemplate对象然后将其注入到相应的DAO实现,此时集成测试将不仅测试该层功能是否正确,还将测试服务提供者提供的服务是否正确执行。 使用Spring的一个好处是能非常简单的进行集成测试,无需依赖web服务器或应用服务器即可完成测试。Spring通过提供一套TestContext框架来简化集成测试,使用TestContext测试框架能获得许多好处,如Spring IoC容器缓存、事务管理、依赖注入、Spring测试支持类等等。 Spring TestContext框架支持 Spring TestContext框架提供了一些通用的集成测试支持,主要提供如下支持: 一、 上下文管理及缓存: 对于每一个测试用例(测试类)应该只有一个上下文,而不是每个测试方法都创建新的上下文 ,这样有助于减少启动容器的开销,提供测试效率

PHP程序员如何自学Java开发?

谁说胖子不能爱 提交于 2020-03-05 14:52:05
作为一名有四年开发经验的PHP程序员,对Java强大的生态无比艳羡,尤其在开发一些比较大型的项目时,Java强大成熟的生态可以帮助我们快速完成开发,这是PHP比不了的,而且,最最重要的一点是,Java的薪资普遍比PHP的要高一大截,大厂对高级Java的需求量很大,所以,为了牛奶和面包,我们程序员不要自我设限,多学一门语言,多条路。 从哪里开始? 相信很多准备学习java的同学们一开始都抱着极大的热情,开始买各种java入门书,网上找各种入门的资料,可是对于新手而言,光搞Java的开发环境和IDE配置就很容易晕,更重要的是学习了Java 的基础知识后,不知道后边该学什么,顺序是什么,该学那些框架,有些框架现在已经淘汰不用了,比如 Hibernate,Struts,所以,有一个全面、完整的学习规划是很重要的。 学习路线 最好的学习方法就是由一个完整的实战项目驱动,哪个知识点不会,就补哪个,这样不至于学了很多理论上的东西而产生迷惘。比如我的目标是学习Java web开发,能够搞一个电商网站,目前最流行的就是 SSM 框架,那么,我都要学习那些知识呢? 按顺序学习清单: 1 .JAVA 基础 --- HelloWorld 2 .JAVA 基础 --- 面向对象 3 .JAVA 基础 --- 变量 4 .JAVA 基础 --- 操作符 5 .JAVA 基础 --- 控制流程 6 .JAVA

作为一名程序员找到一份java的工作需要学习哪些知识?

若如初见. 提交于 2020-03-01 20:50:31
首先是Javase作为Java最基本的学习内容,不在多说。 然后是掌握JavaScript的基本原理,因为做Java编程开发必须学会JavaScript,用到JavaScript非常多,但是现在很多公司是不用去写原生的JavaScript,但是如果你想成为一个厉害的Java开发者,JavaScript必须从理论到实际操作中都要非常得心应手。 现在公司是必须要求会用框架的,所以取代JavaScript的就是jQuery,这是一个非常简易的框架,学jQuery的时候你就会觉得它比JavaScript好用的多。所以jQuery是你必须掌握的。 还有必须学一些框架,比如SpringMVC、Spring、Mybatis、Struts、Hibernate等等,这些就会难理解一些,但是公司是需要要求你会框架的,目前国内的公司应用SSH比较多,建议至少学三个框架,这是找到工作的基本需求。 数据库技术是Java工作者必须掌握的技能常用就是Mysql。 Javaweb的内容还有html、css、jsp、Servlet等技术,这些都是现在找Java开发必须掌握的东西。 第一阶段:三年 我认为三年对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不适合写代码的人。这一阶段,我们走出校园,迈入社会,成为一名程序员,正式从书本上的内容迈向真正的企业级开发。我们知道如何团队协作、如何使用项目管理工具

看懂了责任链模式,你就能明白很多

跟風遠走 提交于 2020-02-27 16:09:47
前言 只有光头才能变强。 文本已收录至我的GitHub精选文章,欢迎Star : https://github.com/ZhongFuCheng3y/3y 最近在看项目代码的时候发现「责任链模式」,于是想花点时间来写写什么是责任链模式。 不知道大家是怎么学习设计模式的,一般我都是用到的时候,或者接触到的时候才会去学。否则感觉学完就很容易就忘掉了,不能理解为什么要使用设计模式(因为没有真实的场景给我去使用)。 在之前我已经更新说几篇设计模式的文章了,我觉得写得「还行」,有兴趣的同学可以到我的 GitHub 上,关键字搜索「 设计模式 」,就能找到对应的文章。 不得不说,我现在负责项目的代码我常常会感叹: 这代码怎么这么骚啊! 项目里边用到了很多的设计模式,在最开始看的时候会很费劲(因为之前没学),但维护起来是真的方便。 一、什么是责任链模式? 在说责任链模式之前,我们先来聊聊「 过滤器 」。 过滤器相信大家都肯定学过了,在最开始学Servlet的时候我们会学到 Filter 。等学到Struts2的时候,我们会学到 Interceptor 。等学到SpringMVC的时候,我们会学到 HandlerInterceptor 。 但无论学哪个框架,我们发现是最终其实它还是做 Filter 这么一件事。说白了就是: 把所有的过滤器都放在 FilterChain 里边,依次执行每个过滤器。

request和response对象

扶醉桌前 提交于 2020-02-27 07:21:12
在struts中也可以获取servlet包中的request和response对象 https://how2j.cn/k/struts/struts-request-response/63.html#nowhere package com.how2java.action; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.ServletActionContext; import com.how2java.bean.Product; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; public class ProductAction extends ActionSupport { private Product product; public String show() { HttpServletRequest request = ServletActionContext.getRequest();

Spring基础

一世执手 提交于 2020-02-27 04:06:31
主要用于service层; 轻量级java开发框架; 各层 web 层: struts , spring-MVC service 层: spring dao 层: hibernate , mybatis , jdbcTemplate --> spring-data Spring核心:控制反转IOC 切面编程AOP 方便解耦合 Spring核心容器:beans、core、context、expression 来源: oschina 链接: https://my.oschina.net/u/4434424/blog/3167967