控制层技术:Servlet+reflection、Struts2、Spring MVC三者之间的比较学习
Servlet | Struts2 | Spring MVC |
处理用户提交的数据 |
基于MVC设计模式的Web应用程序 是一个框架 |
是MVC框架 |
导入servlet包,配置web.xml文件 web.xml
<?xml version="1.0" encoding="UTF-8"?> |
||
service() xxServlet类继承了HttpServlet类; 也继承了方法service( HttpServletRequest,HttpServletResponse); 在执行doGet()或者doPost()之前, 都会先执行service(); |
||
获取参数 //获取浏览器提交的request请求中的参数, |
||
返回响应 | ||
调用流程 | ||
提交数据到Action | ||
显示数据到JSP | ||
视图定位 | ||
接受表单数据 | ||
中文问题 | 中文问题 | 中文问题 |
生命周期 | ||
客户端跳转 //在Servlet中进行客户端跳转 |
客户端跳转 | 客户端跳转 |
客户端跳转传参 | ||
服务端跳转 //请求路径不变, |
||
自启动 | ||
日志输出 | ||
request常见方法 (获取参数)(获取头信息) (服务端传参) setAttribute和getAttribute 可以用来在进行服务端跳转的时候, 在不同的Servlet之间进行数据共享 |
request | |
response用法 | response | |
上传文件 (上传页面upload.html) //method必须是post的,get不能上传文件 (上传功能开发UploadPhotoServlet) 导入commons-io-1.4.jar、 commons-fileupload-1.2.2.jar; |
上传文件 | 上传文件 |
上传文件最大值 | ||
session | session | |
CRUD (查询、增加、删除、编辑、更新) |
||
JSON(提交数据) | ||
JSON(获取一个对象) | ||
JSON(获取多个对象) | ||
标签(form、iterator、check、 radio、select、多重迭代) |
||
调试 | ||
通配符匹配 | ||
拦截器filter | 拦截器Interceptor | |
表单验证 | ||
xml表单验证 | ||
Action是多实例的 | ||
注解方式 | 注解方式 | |
控制层技术:Servlet+reflection、Struts2、Spring MVC三者之间的比较学习的更多相关文章
- 前端控制器是整个MVC框架中最为核心的一块,它主要用来拦截符合要求的外部请求,并把请求分发到不同的控制器去处理,根据控制器处理后的结果,生成相应的响应发送到客户端。前端控制器既可以使用Filter实现(Struts2采用这种方式),也可以使用Servlet来实现(spring MVC框架)。
本文转自http://www.cnblogs.com/davidwang456/p/4090058.html 感谢作者 前端控制器是整个MVC框架中最为核心的一块,它主要用来拦截符合要求的外部请求,并 ...
- 惊呆了,Servlet Filter和Spring MVC Interceptor的实现居然这么简单
前言 创建型:单例模式,工厂模式,建造者模式,原型模式 结构型:桥接模式,代理模式,装饰器模式,适配器模式,门面模式,组合模式,享元模式 行为型:观察者模式,模板模式,策略模式,责任链模式,状态模式, ...
- spring mvc 及NUI前端框架学习笔记
spring mvc 及NUI前端框架学习笔记 页面传值 一.同一页面 直接通过$J.getbyName("id").setValue(id); Set值即可 二.跳转页面(bus ...
- 针对spring mvc的controller内存马-学习和实验
1 基础 实际上java内存马的注入已经有很多方式了,这里在学习中动手研究并写了一款spring mvc应用的内存马.一般来说实现无文件落地的java内存马注入,通常是利用反序列化漏洞,所以动手写了一 ...
- structs spring hibernate 三者之间有什么关系?
现在开发流行MVC模式,structs在C(控制器)中使用:hibernate在M(模型)中被使用:至于 spring ,最大的作用在于,structs.hibernate的对象,由于在各个层之间相互 ...
- SpringBoot整合持久层技术--(三)Spring Data JPA
简介: JPA(java Persistence API)和SpringData是两个范畴的概念.spring data jpa是spring公司下的spring data项目的一个模块. sprin ...
- 存储层技术:JDBC、Hibernate、Mybatis三者之间的比较学习
JDBC Hibernate Mybatis (Java DataBase Connnection) 是通过JAVA访问数据库 对JDBC的轻量封装 像操作对象操作数据库 对SQL的轻 ...
- Spring MVC和Struts2的比较[转]
虽然说没有系统的学习过Spring MVC框架, 但是工作这么长时间, 基本上在WEB层使用的都是Spring MVC, 自己觉得Struts2也是一个不错的WEB层框架, 这两种框架至今自己还未有比 ...
- Struts2和Spring MVC 区别 今天面试被问到了
虽然说没有系统的学习过Spring MVC框架, 但是工作这么长时间, 基本上在WEB层使用的都是Spring MVC, 自己觉得Struts2也是一个不错的WEB层框架, 这两种框架至今自己还未有比 ...
随机推荐
- 痞子衡嵌入式:揭秘i.MXRT1170 eFuse空间访问可靠性的保护策略(冗余与ECC)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MXRT1170的eFuse空间访问可靠性保护策略. 关于i.MXRT系列的eFuse/OTP,痞子衡之前在介绍Boot时写过 ...
- HTML模版组件
1.介绍 BootStrap (最好看的) css js [x] 学习 BootStrap 规则 jQueryUI (美观一般,偏后台.*) css js [x] 学习 jQueryUI 规则 Eas ...
- 关于利用注射点判断数据库web是否分离
得到客户端主机名:select host_name();得到服务端主机名: select @@servername; 本文转hackfreer51CTO博客,原文链接:http://blog.51ct ...
- STL--priority_queue--自定义数据类型
STL中priority_queue的声明模板有3个参数priority_queue<Type,Container,Functional>. 当使用的数据类型Type为自定义数据类型时有以 ...
- 【阅读笔记】Ranking Relevance in Yahoo Search (四 / 完结篇)—— recency-sensitive ranking
7. RECENCY-SENSITIVE RANKING 作用: 为recency-sensitive的query提高排序质量: 对于这类query,用户不仅要相关的还需要最新的信息: 方法:rece ...
- nginx经验分享
如果我们在使用启动nginx时,遇到这样的提示: nginx: [alert] could not open error log file: open() "/usr/local/var/l ...
- POJ - 2387 Til the Cows Come Home (最短路入门)
Bessie is out in the field and wants to get back to the barn to get as much sleep as possible before ...
- Nmon 监控性能分析
一.CPU 信息 1.折线图中蓝线为 cpu 占有率变化情况:粉线为磁盘 IO 的变化情况: 2.下面表各种左边的位磁盘的总体数据,包括如下几个: Avg tps during an interval ...
- Flutter 系统是如何实现ExpansionPanelList的
老孟导读:Flutter组件有一个很大的特色,那就是很多复杂的组件都是通过一个一个小组件拼装而成的,今天就来说说系统的ExpansionPanelList是如何实现的. 在了解ExpansionPan ...
- Flutter 1.17版本重磅发布
Flutter 1.17 是2020年的第一个稳定版本,此版本包括iOS平台Metal支持(性能更快),新的Material组件,新的Network跟踪工具等等! 对所有人来说,今年是充满挑战的一年. ...