java mvc框架系列总结ssh,ssm,servlet

2016年10月3日 10:36:40

一直以来都很想写属于自己的博客,一来可以分享自己的学习经验,二来可以及时总结,毕竟博客是写给所有人看的,需要更加仔细的注意每个细节,而不是仅仅让自己看懂。

学了java也有6个月左右,感觉有必要把所学的总结一下,因为以后有可能从事.net。三层架构+servlet:首先启动项目,由于servlet3.0 版本新特性,不需要配置web.xml(没使用spring),我目前使用的是@注解形式。前端通过form表单,或者地址链接,或者ajax,发出请求,如<a href=”SubjectServlet?method=modifysubject&id=${subject.id}”>修改</a>匹配到对应的servlet【@WebServlet("/SubjectServlet") @webServlet 用于将一个类声明为servlet,该注解将会在部署时被容器处理,容器将根据具体的属性配置将相应的类部署为servlet。】执行servlet中被重写的doget()或dopost()方法【函数体都会执行自己的方法】如下doEcho() 函数

服务器通过request获取前端数据(request.getParameter)。通过set方法将存在request中的数据转化成对象。再通过对应的method变量判断执行对应的函数块。例如显示全部,method对应的函数块会调用dao层的显示全部函数,返回list<subject>,将值存入session中,最后再通过response完成跳转页面。在jsp页面同样可以通过session获取数值。最后完成显示。(注意以上后端通过将值存入session,前端再从session中取值,只是在jsp页面)【一句话概括:servlet作用就是接受请求及,作出相应】

Dao层的调用:①调用dao层的save()方法,save()方法里,将传递进来的对象信息转化成sql语句。调用数据链路层来执行sql语句。②调用findall()方法,先new出list集合用以存放返回的数据库记录。执行sql语句得到数据库结果集。遍历结果集,将每一条记录存入new出的对象中,并将该对象存入list集合。返回list集合。

SSH:Struts和servlet最大区别就是struts采用的是多例,而servlet采用的是单例模式。SSH中需要配置web.xml。①配置拦截器,此处设置拦截所有url(“/*”),将权限交给struts处理。②配置spring加载路径及监听器。这样web.xml必备配置就完成了,不过在实际运行项目中应该配置<welcom-file>用于项目启动加载页(其实所有都应该配置,前面没有介绍,后面也不再打算赘述,这点很重要,容易忽略,提醒下。第一次配置环境的时候,可能会因为这点让你误以为是其他配置错了)。struts.xml中配置根据url的值匹配到对应的action。以及根据返回值跳转到对应页面。(struts.xml会自动加载,这点不用考虑url被拦截后是怎么找到具体action路径的。还有application也是在某一路径下自动加载,这些默认加载项大家了解下,最少暂时不会疑虑了。)现在客户端输入添加信息,点击提交form表单到服务器。过滤器拦截所有url。在action中,将上传上来的数据通过set转换成对象,然后再根据method值匹配对应的方法,执行相应的dao层(hibernate)代码,将记录的对象型数据存入session.最后根据return的值和strut.xml的值跳转到相应页面(现在发现strus.xml还有这一功能,其实还可以设置成json数据返回)。其中比较servlet,我们可以看出数据的获取已经不需要通过request方法来获取,而是通过前端的name匹配传输具体值。还是相对较简便一些。

Hibernate:通过session工厂获取session。开始事务。执行方法(hibernate封装好的orm方法,对数据库进行操作,修改或读取),提交事务,关闭session。

其中sessionfactory需要加载hibernate.cfg.xml文件(连接数据库和指定映射文件路径)。映射文件主要配置数据库和实体类之间的映射关系。

Spring:spring主要负责对象的产生和管理。其注入方式主要包括三种(构造函数方式目前没用过)。一种通过属性setter方式注入(<property>标签元素,其中name属性对应的是要注入的变量名,type属性值对应的该变量的类型,可以自定义类或者包装类型。Value属性对应的是相应的值,还有一个ref属性,该属性对应的是相应的bean),和注解方式@Autowired注入。其中@Autowired方式我个人比较喜欢,因为.xml文件比较简单,但同时也造成依赖关系不清晰。在这里提供一个学习连接:http://www.imooc.com/article/1309

以及:http://blog.csdn.net/qiulongtianshi/article/details/7748227(带有代码)

SSM:spring和SSH一样,不过在SSH中需要注意scope属性

对于SSM中web.xml文件的配置和SHH配置差不多,都要配置spring路径,不过,在SSH需要配置过滤器,将请求交给struts处理,而在SSM中则不需要配置过滤器,而是配置DispatcherServlet前端控制器,为不同请求配置相应的spring-mvc路径(下面是一个工作流的web.xml文件代码,比较能反映DispatcherServlet使用及配置)

Spring-mvc当接受到请求后,(或者项目启动时如这里设置了<load-on-startup>1</load-on-startup>),不同的url请求会匹配到相应的spring-mvc配置文件(配置组件扫描,或者可以配置controller请求及跳转的前后缀)

Spring-mvc配置文件在相应的包检测到@Controller会产生相应的controller对象,url请求根据匹配到对应的@RequestMapping,并传递数据(SSM简单粗暴不用担心数据怎么传过来的,怎么存入对象的)。其作用和struts一样,不再赘述。

Mybatis:首先是利用spring产生的sqlSessionTemplate对象,并获取其中的dao方法。其中mybatis配置文件mybatis-config.xml主要配置映射文件路径,以及为类设置别名。数据库的连接配置在sring-mvc.xml(实质spring)配置中

http://blog.sina.com.cn/s/blog_4550f3ca0100ubmt.html

在mybatis的xml文件中不再多说,主要注意resultType和resultMap区别,很有用哦

以下图片参考文档:

http://si shuok.com/forum/blogPost/list/5188.html16436

时间: 2024-10-21 06:09:52

java mvc框架系列总结ssh,ssm,servlet的相关文章

从零开始实现一个简易的Java MVC框架(三)--实现IOC

Spring中的IOC IoC全称是Inversion of Control,就是控制反转,他其实不是spring独有的特性或者说也不是java的特性,他是一种设计思想.而DI(Dependency Injection),即依赖注入就是Ioc的一种实现方式.关于Ioc和DI的具体定义和优缺点等大家可以自行查找资料了解一下,这里就不详细赘述,总之spring的IoC功能很大程度上便捷了我们的开发工作. 在实现我们的Ioc之前,我们先了解一下spring的依赖注入,在spring中依赖注入有三种方式

Java MVC框架性能比较

- by zvane 现在各种MVC框架很多,各框架的优缺点网络上也有很多的参考文章,但介绍各框架性能方面差别的文章却不多,本人在项目开发中,感觉到采用了struts2框架的项目访问速度,明显不如原来采用了struts1框架的项目快,带着这些疑惑,我对各类MVC框架的做了一个简单的性能分析比较,其结果应该说是基本符合预期的,可供大家参考. 测试环境:CPU:酷睿2 T5750,内存:DDR2-667 2G,Web容器:Tomcat6.0,最大线程数设置为1000,操作系统:WinXP-sp3 测

简单的JAVA MVC框架模式--Java-servlet-JavaBean

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码 此框架模式是一个简单的解决个人所得税计算的业务逻辑 servlet import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import ja

java日志框架系列(9):logback框架过滤器(filter)详解

过滤器放在了logback-classic模块中. 1.logback-classic模块中过滤器 分类(2种):常规过滤器.TurboFilter过滤器. 1.常规过滤器 常规过滤器可以通过自定义进行条件筛选过滤. 目前logback-classic中有2个常规过滤器:级别过滤器(LevelFilter).临界值过滤器(ThresholdFilter).在logback-core中还有一个求值过滤器(EvaluatorFilter). 1.自定义过滤器 创建自定义过滤器很容易,只需要继承Fil

[转]JAVA三大框架SSH和MVC理解

Java—SSH(MVC) JAVA三大框架的各自作用 hibernate是底层基于jdbc的orm(对象关系映射)持久化框架,即:表与类的映射,字段与属性的映射,记录与对象的映射 数据库模型 也就是Model; struts提供的丰富标签是用于显示层View;同时struts也充当了实现Control的功能(不管是Struts1,还是Struts2),接收参数,视图分发. Spring是用于降低层与层间耦合度的,就是所有的类都可以由spring统一创建,用时只需注入即可(IOC) 从功能上来说

JAVA三大框架SSH的各自作用

一.Spring Spring是一个解决了许多在J2EE开发中常见的问题的强大框架. Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯.Spring的架构基础是基于使用JavaBean属性的Inversion of Control容器.然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的. Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错

JAVA web 框架集合

“框架”犹如滔滔江水连绵不绝, 知道有它就好,先掌握自己工作和主流的框架: 在研究好用和新框架. 主流框架教程分享在Java帮帮-免费资源网 其他教程需要时间制作,会陆续分享!!! 152款框架,你还知道其他的吗? 留言你用过的web框架 Java开源web框架汇总 1 Struts2 Struts2是一个web应用框架.它不是一个Struts的新的发布版本,而是一个全新的框架.Struts2 是第二代基于Model-View-Controller (MVC)模型的web应用框架. Struts

课程作业07 MVC框架

MVC简介 MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器. MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式 MVC 模式同时提供了对 HTML.CSS 和 JavaScript 的完全控制. 最典型的MVC就是JSP + servlet + javabean的模式. MVC模式的意思是,软件可以分成三个部分\ 如下图: MVC实现的两种分离 View与Model的分离: 能够为相同的Mo

浅谈Java三大框架与应用

前言:对于一个程序员来说,尤其是在java web端开发的程序员,三大框架:Struts+Hibernate+Spring是必须要掌握熟透的,因此,下面谈谈java三大框架的基本概念和原理. JAVA三大框架 一.Spring Spring是一个解决了许多在J2EE开发中常见的问题的强大框架. Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯.Spring的架构基础是基于使用JavaBean属性的Inversion of Control容器.然而,这仅仅是