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 ...
随机推荐
- kafka学习笔记整理01
Apache Kafka 消息中间件->流式数据处理平台 特点: 高可靠性(分布式.分区.复制和容错).高吞吐量.持久化 消息模式:1)队列式(或点对点):在点对点消息系统中,消息被保存在队列中 ...
- MAC Homebrew安装和简单使用
前言: 这个周六日在刚刚买的macbookpro(系统版本是:10.13.5)上面安装angular,一开始是按照windows上的顺序安装的,先安装node.js,然后在安装angular的时候报错 ...
- 蓝屏代码PAGE_FAULT_IN_NONPAGED_AREA的解决方法
就在昨天晚上,小王同学的电脑继1803更新后第4次蓝屏了,原本蓝屏后自动重启后就会恢复正常,然而天真的我太低估了微软的实力.蓝屏-重启-蓝屏-重启无限循环 当然,重启几次就进入了高级模式 高级模式 进 ...
- 输入一个正整数n,计算出[0,n]这些整数中的二进制数没有连续3个1的数字有多少
输入一个正整数n,计算出[0,n]这些整数中的二进制数没有连续3个1的数字有多少? 例子:输入数字9,则输出结果位9.因为[0-9]中,只有数字7有连续的三个‘1’出现,别的都没有,所以一共有9个数字 ...
- Charles Map Local 中文显示乱码问题
最近在迁移客户端的业务,用React Native实现,在用本地数据测试Android的时候,遇到到中文乱码的问题.是因为编码问题. 一.首先看看文件编码是否是UTF-8,我的电脑是安装了Sublim ...
- Vue源码之目录结构
Vue版本:2.6.9 源码结构图 ├─ .circleci // 包含CircleCI持续集成/持续部署工具的配置文件 ├─ .github // 项目相关的说明文档,上面的说明文档就在此文件夹 ├ ...
- Map的嵌套 练习
Map的嵌套 练习 利用迭代和增强for循环的两种方式实现如下效果 package cn.ccc; import java.util.HashMap;import java.util.Iterat ...
- MyBatis-Spring开发记录贴(新手)
初学MyBatis-Spring,发个帖子记录一下自己的学习历程,先写个自己的编程步骤. 1.先进行数据库设计. 2.根据所设计的数据,写出相应的POJO,并写出setter和getter方法. 3. ...
- SQL SEVER 时间格式转换
常用:时分秒(HH:mm:ss):Select CONVERT(varchar(100), GETDATE(), 8) : 10:57:46年月日 (yyyyMMdd):Select CONVERT( ...
- YouTube数据:谁获得了最多订阅者?
原文来源: https://www.kaggle.com/roshan77/youtube-data-who-got-the-most-subscribers 介绍: Python笔记 使用来自Soc ...