无锡网站排名优化公司,摄影婚纱官网,国内广告公司排名,湖南鸿泰电力建设有限公司网站1.Javaweb经历了三个时期 ①JSP Model1第一代 JSP Model1是JavaWeb早期的模型#xff0c;它适合小型Web项目#xff0c;开发成本低#xff01;Model1第一代时期#xff0c;服务器端只有JSP页面#xff0c;所有的操作都在JSP页面中#xff0c;连访问数据库的API也在JSP页面… 1.Javaweb经历了三个时期 ①JSP Model1第一代 JSP Model1是JavaWeb早期的模型它适合小型Web项目开发成本低Model1第一代时期服务器端只有JSP页面所有的操作都在JSP页面中连访问数据库的API也在JSP页面中完成。也就是说所有的东西都耦合在一起对后期的维护和扩展极为不利。 ②JSP Model1第二代 JSP Model1第二代有所改进把业务逻辑的内容放到了JavaBean中而JSP页面负责显示以及请求调度的工作。虽然第二代比第一代好了些但还让JSP做了过多的工作JSP中把视图工作和请求调度控制器的工作耦合在一起了。 ③JSP Model2 JSP Model2模式已经可以清晰的看到MVC完整的结构了。 ·JSP视图层用来与用户打交道。负责接收用来的数据以及显示数据给用户 ·Servlet控制层负责找到合适的模型对象来处理业务逻辑转发到合适的视图 JavaBean模型层完成具体的业务工作例如开启、转账等。 这就是javaweb经历的三个年代JSP Model2适合多人合作开发大型的Web项目各司其职互不干涉有利于开发中的分工有利于组件的重用。但是Web项目的开发难度加大同时对开发人员的技术要求也提高了。 2.JavaWeb经典三层框架 我们常说的三层框架是由JavaWeb提出的也就是说这是JavaWeb独有的 所谓三层是表述层WEB层、业务逻辑层Business Logic以及数据访问层Data Access。 ·WEB层包含JSP和Servlet等与WEB相关的内容 ·业务层业务层中不包含JavaWeb API它只关心业务逻辑 ·数据层封装了对数据库的访问细节 注意在业务层中不能出现JavaWeb API例如request、response等。也就是说业务层代码是可重用的甚至可以应用到非Web环境中。业务层的每个方法可以理解成一个万能例如转账业务方法。业务层依赖数据层而Web层依赖业务层 1、Servlet的出现 上世纪90年代随着Internet和浏览器的飞速发展基于浏览器的B/S模式随之火爆发展起来。 最初用户使用浏览器向WEB服务器发送的请求都是请求静态的资源比如html、css等。 但是可以想象根据用户请求的不同动态的处理并返回资源是理所当然必须的要求。 java 为了应对上述需求就必然推出一种技术来支持动态需求因此servlet技术诞生 使用Servlet技术页面中的所有信息需要通过输出语句来生成。下面的代码部分代码生成的页面的内容就是“HelloWorld”。 public void doGet(HttpServletRequest request,HttpServletResponse)throws IOException,ServletException
{response.setContentType(text/html;charsetgb2312);PrintWriter out response.getWriter();out.println(html);out.println(headtitleHello World/title/head);out.println(body);out.println(pHello World/p);out.println(/body/html);
} 2、Jsp的出现 servlet诞生后sun公司很快发现servlet编程很繁琐1)servlet代码有大量冗余代码out输出就得写上百遍2)开发servlet必须精通网页前端和美工你得非常不直观的在Servlet中写前端代码这使得实现各种页面效果和风格非常困难。 所以sun公司借鉴 微软的asp,正式推出了jspservlet1.1。采用HTML语言直接生成界面在界面中使用% %脚本标识嵌入Java代码 一个简单的jsp例子 htmlheadtitle测试/title/headbody第一阶段% String str “test” ; out.println(str); %/body
/html 3、 倡导了MVC思想的servlet版本servlet1.2出现------------jspjavabeanservlet jsp出现后也存在问题1前端开发人员需要看大量他看不懂的后端代码2同样servlet开发人员也在复杂的前端代码中找到其能写servlet代码的地方 所以MVC思想的JSPJavaBeanServlet诞生了 JSPVJSP完成输入和输出主要使用HTML标签和JSP标签 ServletC主要完成控制接收请求调用业务处理JavaBean根据调用的结果找到一个JSP页面对用户进行响应 JavaBeanM完成所有的处理过程 4、框架阶段 倡导了MVC思想的jspjavabeanservlet出现也存在问题1jsp页面中嵌入了很多java代码使得结构很乱2对于大型项目servlet过多转向频繁流程配置等不易集中管理因而出现了struts 4.1、Struts的出现 2001年6月struts1.0出现struts针对jsp推出了一套struts标签从而使得jsp中没有了Java代码结构清晰功能强大。针对servlet它提供了Action类来代替了servlet这个Action类具有servlet的功能并且能够进行一些请求过滤和自动转码的功能。 4.2、Spring的出现 原本已经开起来很完美了但是又有一个问题就是我们在Action调用DAO、Java bean等对象的时候都需要在自身代码中构建它们的对象来使用这样增加了程序的耦合性这与我们“高内聚、松耦合”的思想不符合那么怎么解决这个问题呢因而出现了Spring框架。 Spring框架有两大功能IOC控制反转和AOP面向切面的编程其中IOC就是说当一个类中想要调用另外一个类的对象时不需要再通过new 关键字来创建而是由Spring框架来负责创建、分配和管理从而降低了程序中的耦合性。而AOP可以用来做一些日志的打印和输出用于提示程序执行过程中的一些具体信息等。 4.3 、SpringMVC的出现 最后struts和Spring的整合由于每一个bean都要在Spring中注册每一个URL都要在struts配置文件中配置。当bean很多和URL对应的请求很多的时候配置文件无疑会是很庞大的这个就会使得配置起来很麻烦的费力。那么还有没有更好的办法使得能够结合Spring的功能和struts的功能但是又可以使配置文件不会批量的增加因而SpringMVC出现了 SpringMVC通过“基于注解”的方式代替了struts并且通过Controller类来代替和实现了Action的功能。由于是基于注解的所以很多的配置信息放在了Controller类中配置从而降低了.xml文件的配置复杂度。 转载于:https://www.cnblogs.com/jiangzhaowei/p/9365056.html