JSP和Struts2、Hibernate、Spring3基础内容和原理
一、JSP工作原理
1、首先是利用客户端浏览器,然后由客户端浏览器请求JSP页面,向JSP服务器发出请求。
2、JSP服务器内部原理
JSP服务器首先在收到客户端传送过来的请求后,将JSP页面编译成Servlet文件(JAVA文件),然后执行Servlet文件,生成.Class文件,然后将执行结果以HTML的格式发送到浏览器上。
3、客户端浏览器接收到Servlet发送过来的内容,并将其显示到页面中。
二、JSP的两种体系结构
1、JSP页面独自响应请求并将处理的结果返回用户
2、将JSP和Servlet联合使用来实现动态内容服务的方法
三、JSP开发Java Web站点的主要方式
1、直接使用JSP
对于最小型的Web站点,可以直接使用JSP来构建动态网页。
2、JSP+JavaBean
中型站点面对的是数据库查询、用户管理和少量的商业业务逻辑,
3、JSP+Servlet+JavaBean
能够将网站的逻辑关系和网站的显示页面轻易分开。
4、Java EE开发模型
整个系统分为三个主要部分:1、视图;2、控制器;3、模型。
四、Struts2运行原理解析
1、客户提交请求到服务器
2、请求被提交到经过一系列过滤器和拦截器,最后到达FilterDispatcher(核心控制器)、Filterdispatcher是Struts2中MVC模式的控制部分。
3、FilterDispatcher读取配置文件Struts.xml,根据配置信息调用某个Action来处理客户请求。
4、Action处理后,返回处理结果,FilterDispatcher,根据Struts.xml的配置找到对应的页面跳转。
Struts2运行原理图:

五、Hibernate基础原理
1、Hibernate主要作用是:
体现了ORM(对象与实体之间的映射关系)的思想,即对象与数据库中的表的相互映射。、
2、Hibernate主要原理是:
特点是封装了JDBC与ORM技术的数据持久性的解决方案,是在Java中关注最多,使用最广泛的框架。
3、Hibernate主要原理图:

六、Spring3基础原理
一、主要作用
主要是用于降低模块间的耦合度的框架,Spring3能够通过Ioc(控制反转)来降低模块间的耦合度。
二、主要包含的内容
Spring3是一个轻量级的控制反转(IOC)和面向切面变成(AOP)的容器框架。之所以叫轻量级是指从软件大小与开销两方面而言的。IOC的作用:对象依赖的其他对象通过被动的方式传递进来而不是这个对象自己做创建或者查找依赖对象。
JSP和Struts2、Hibernate、Spring3基础内容和原理的更多相关文章
- jsp之认识 servlet (基础、工作原理、容器请求处理)
Tomcat 的安装: eclipse 需要自行安装tomcat,这是web 项目运行的服务器.如果用的是MyEclipse,里面自带tomcat,方便清除部署垃圾,利于项目运行. Tomcat的安装 ...
- Struts2.0+Spring3+Hibernate3(SSH~Demo)
Struts2.0+Spring3+Hibernate3(SSH~Demo) 前言:整理一些集成框架,发现网上都是一些半成品,都是共享一部分出来(确实让人很纠结),这是整理了一份SSH的测试案例,完全 ...
- struts2+hibernate整合-实现登录功能
最近一直学习struts2+hibernate框架,于是想把两个框架整合到一起,做一个小的登录项目.其他不多说,直接看例子. 1).Struts2 和hibernate的环境配置 包括jar包.web ...
- JQuery+Ajax+Struts2+Hibernate 实现完整的登录注册
写在最前: 下午有招聘会,不想去,总觉得没有准备好,而且都是一些不对口的公司,可是又静不下心来,就来写个博客. 最近在仿造一个书城的网站:http://www.yousuu.com ,UI直接拿来用, ...
- Spring整合Struts2,Hibernate的xml方式
作为一个学习中的码农,一直学习才是我们的常态,所以最近学习了SSH(Spring,Struts2,Hibernate)整合,数据库用的MySQL. 写了一个简单的例子,用的工具是IntelliJ Id ...
- [Java web]Spring+Struts2+Hibernate整合过程
摘要 最近一直在折腾java web相关内容,这里就把最近学习的spring+struts2+hibernate进行一个整合,也就是大家经常说的ssh. 环境 工具IDE :Idea 2018 数据库 ...
- struts2.3+spring3.2+hibernate4.2例子
有些教程比较老,可是版本更新不等人,基于马士兵老师小例子,自己重新引用了新的包,调试确实有点烦人,但是通过英文文档和google解决问题.官网的更新超快,struts2.3+spring3.2+hib ...
- Spring+Struts2+Hibernate的整合
这篇主要采用Maven搭建Spring+Struts2+Hibernate的整合项目,复习一下SSH框架,虽然spring提供自己的MVC框架, 但是Spring也提供和其他框架的无缝整合,采用组件形 ...
- JSP+Spring+SpringMVC+Hibernate+Mysql实现的校园失物招领网站
项目简介 项目来源于:https://github.com/wenlongup/LostAndFound 因原github仓库无数据库文件,经过本人修改,现将该仓库重新上传至个人gitee仓库. ht ...
随机推荐
- php lcg_value与mt_rand生成0~1随机小数的效果比较
因工作需要使用PHP生成0~1随机小数,之前写过一篇<php生成0~1随机小数方法>,基于mt_rand()及mt_getrandmax()实现. 后来有网友评论,php原生方法lcg_v ...
- web端分享网页到各个网站JS代码(微信为生成二维码)
/*分享到新浪微博,QQ空间,人人网,生成二维码*/ var myTitle=$("title").text(); var myHref = window.location.hre ...
- 删除csdn上面自己上传的资源
今天想删掉以前的资源,才发现CSDN并没有提供删除资源的功能,然后去网上搜了下,这才删除了,不知道怎么删除的小伙伴看过来~ 首先,找到自己要删除资源的页面,举个栗子 https://download. ...
- c++ 第二章知识梳理
2.1.c++语言概括 2.1.1)c++的产生 一个更好的c,由c演变而来 2.1.2)c++的特点 一是尽量兼容c,二是支持面向对象的方法.更安全,且简洁高效. 2.1.3~2.1.5 多数和C相 ...
- 微信小程序 image属性 mode
mode属性可以改变图片的填充容器方式
- element-ui隐藏组件scrollbar的使用
话不多说,直接上图 总结:el-scrollbar组件设置高度100%包裹住需要滚动的dom结构即可. 再例如: 至于配置props,参见源码https://github.com/ElemeFE/el ...
- Mesh内存分配器的mmap小技巧
最近看了一篇内存分配器的论文,原理很简单,但是里面的数学论证还没看懂,这次先简单写一下原理和用到的API. 内存分配器是用于封装操作系统提供的底层API,给应用程序提供动态内存的.内存不断申请释放后, ...
- git pull时报错:refusing to merge unrelated histories
在Github新建一个仓库,写了README文件,然后把本地一个写了仓库上传,首先pull,因为两个仓库不同,发现refusing to merge unrelated histories,无法pul ...
- Spark SQL / Catalyst 内部原理 与 RBO
原创文章,转载请务必将下面这段话置于文章开头处. 本文转发自技术世界,原文链接 http://www.jasongj.com/spark/rbo/ 本文所述内容均基于 2018年9月10日 Spark ...
- Unity备份新知识待写
Unity开发VR之Vuforia 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- ...