福州免费企业网站建站,网站建设及系统开发,php跳转网站,培训心得体会怎么写1.0版本javaWeb#xff1a;原始servletjspjsbc 早期的jsp#xff1a;htmljava#xff0c;页面先在后端被解析#xff0c;里面的java代码动态渲染完成后#xff0c;成为纯html#xff0c;再通过服务器发送给浏览器显示。 缺点#xff1a;
服务器压力很大#xff0c;因为…1.0版本javaWeb原始servletjspjsbc 早期的jsphtmljava页面先在后端被解析里面的java代码动态渲染完成后成为纯html再通过服务器发送给浏览器显示。 缺点
服务器压力很大因为无论是jdbc数据库查询servlet请求接受还是jsp页面动态渲染都是在服务器端进行的。
2.0阶段javaWeb基于MVC思想的servletjspjdbc 缺点
java的本质是面向对象当代码量变大对象的管理变的混乱不堪。 譬如我想在controller中用一次model的对象就得new一次。想在controller中用一次view的对象就得new一次。
3.0阶段javaWeb基于MVC思想的“SSH框架StrutsSpringHibernatejsp” 3.5阶段 javaWeb基于MVC思想的“SSM框架SpringMvcSpringMybatisjsp” 4.0阶段前后端分离thymeleaf
5.0阶段 springboot
javaweb用java来做web程序一般都是bs模式。 javaweb流行框架servletjspjdbc。 jdbc提供一系列api用java去访问数据库。 servlet服务端小程序接受浏览器发过来的请求并做业务处理。 jspjava服务端页面。 早期的jsphtmljava页面先在后端被解析里面的java代码动态渲染完成后成为纯html再通过服务器发送给浏览器显示。 早期javaweb对于服务器压力很大因为无论是jdbc数据库查询servlet请求接受还是jsp页面动态渲染都是在服务器端进行的。
此时mvc出现了分为modelcontrollerview model处理业务包括和数据库的交互。 controller接受请求然后转发给相应model层业务组件处理。 view页面渲染。 javaweb转变为了基于mvc的servletjspjdbc 但是javaweb的本质还是javajava的本质是面向对象。 即使是基于mvc的servletjspjdbc当代码量变大也会变得混乱。譬如我想在controller中用一次model的对象就得new一次。 想在controller中用一次view的对象就得new一次。 此时spring出现了。 spring就是用来管理对象的把对象起了个新名字叫bean。 spring中放对象的东西叫ioc容器。 同时struts取代了之前的原生servlet开发。 mybatis/hibernate取代了原生jdbc开发。 具体来说一个servelet类对应一个请求的处理。 要写个servlet类 要继承httpservlet类并重写里面的doget和dopost方法分别对应get和post的请求或者用webservlet注解配置。 最后去web.xml里配置。 然后把所有的servlet类放到一个目录下譬如com.xxx.servlet。 现在变成struts用一个xml文件管理所有servletservlet在struts里叫action 所以javaweb整体演变成了基于mvc的ssh框架structshibernatejsp spring做整体ssh框架的整合作为管理者。 后来spring推出了springmvc成功替代了struts用来接收和处理请求。 所以javaweb逐渐变成了基于mvc的ssm框架springmvcspringmybatisjsp。 注意springmvc和mvc不是一种东西前者是用来接受和处理请求的技术框架后者是上文提到的思想。 ssm框架的项目一般都有三个包 controller包使用的是springmvc对应的mvc中的controller service和dao/mapper层service业务层会交由spring的ioc来管理。dao/mapper使用mybatis对应mvc中的model。 jsp对应mvc中的view。 此时虽然框架简化了但是大部分压力还是集中在服务器这里。 真正地前后端分离时代开始了数据渲染丢给前端了。 前端需要数据就给后端发request后端处理完成后就给前端返回response。json由此出现。 jsp最大的缺陷是前端不好调试怎么样都会设计到后端的地方。无法像html一样在浏览器中打开要先启动服务器通过servlet来动态渲染或者后端开发好再手动替换html。这也是为啥最开始的后端开发都要会基础的前端知识的原因。 于是thymeleaf模板引擎出现了他写出的页面就是html页面不经过后端就可以直接被浏览器解析方便了前端调试页面。但并没有真正达到前后端分离的效果因为想要真正显示完整的页面还需要后端controller层返回的数据。 此时前后端联调要轻松许多但是后端的配置依旧繁琐。 譬如spring要管理所有的对象那么他怎么知道一个类的一个对象是一个bean呢怎么知道那两个bean之间有依赖关系捏 除开spring整合springmvc、mybatis其他三方等等。项目开发好后需要打成war包发布到tomcat执行。这个过程也需要一堆配置。 这时spring提出了一个公约将经常使用的核心组件的对象抽取出来自动加入ioc中再在外部提供一个固定配置文件application.properties/application.yml里面放自定义配置。 这就是约定大于配置即自动化配置。 基于该思想下springboot出现了 springboot自带tomcat不需要像以前ssm一样打成war包再发布到tomcat的webapps下面。 同时springboot把很多场景都抽象为启动器starter在启动器下导入maven依赖即可达成自动化配置从而直接开发专注于自己的业务逻辑。 但springboot有个问题它不支持jsp官方支持的是thymeleaf 此时前端也有自己的发展vue、react、angular三大js框架使得前端也可以自己单开一个项目了。