javaWeb技术开发基础(1)

1.1Web技术的发展
Web技术在20世纪90年代初就有一定范围基础;
不管是何种类型程序,如果没有和用户交互的功能,或者和用户交互的功能很少,是绝对不可能流行的;
CGI程序的诞生开启了动态Web应用的时代;
1998年Java家族迎来了第一个支持动态Web技术的成员——servlet;


servlet的主要优势:
>因为Java是跨平台的,servlet也就成了跨平台的技术。如果在Java支持的操作系统平台上的Web服务器包含Servlet引擎,Servlet程序就可以在该操作系统平台上运行;
>由于Java可以通过JDBC访问数据库,而且支持JDBC的数据库非常多,因此Servlet就可以利用Java的这一特性访问更多的数据库;
>除此之外,Java还具有更高级的特性,如多线程、网络等技术。servlet自然也就可以利用这些技术增强Web程序的功能了。


实际上,servlet程序的运行原理就相当于远程调用。在服务端的Servlet程序中(一个Servlet程序就是HttpServlet类的子类)有一个service方法。当客户端提交请求时,Web服务器接收到这个请求,就将该请求交给Servlet引擎处理。当Servlet引擎找到该请求指定的Servlet时,就会调用Servlet类中的service方法,并且将请求信息和响应信息传入service方法。
所有的响应和请求的服务端逻辑都要写在service方法中。在service方法中,用户可以在处理完逻辑时给客户端返回相应的信息,当然也可以什么都不回。从这一点卡可以看出,在客户端访问Servlet,就相当于发送一个远程调用服务端组建的方法的请求。  
                                      
                                 Web服务器
         发送请求                    V
       >>>>>>>>>>>>>>>>>>>>>>        V    提交请求
浏览器                           Servlet引擎 
       <<<<<<<<<<<<<<<<<<<<<<        V
       响应信息(客户端代码)        V     调用servlet方法


                                 Servlet1
                                 Servlet2
                                  。。。。


浏览器首先向Web服务器发送请求,然后Web服务器接到请求后,将该请求提交给了Servlet引擎并且由Servlet引擎负责调用Servlet对象实例的service方法,最后返回相应的客户端代码(HTML/JAVAScript等)。
                   
在1999年SUN公司发布了JSP规范。    


                                      
                                 Web服务器
         发送请求                    V
       >>>>>>>>>>>>>>>>>>>>>>        V 
浏览器                          第一次访问  >>>>>>>>>>>
       <<<<<<<<<<<<<<<<<<<<<<        V                v
       响应信息(客户端代码)        V  是            v
                                 JSP引擎              v
                                  JSP1  JSP2          v  否
                                     V                v
                                     V   编译JSP      v
                                   Servlet引擎        v
                                                      v
                                    Servlet1  Servlet2


当浏览器请求Web服务器中的JSP页面时,Web服务会判断该JSP页面是否第一次被访问,如果是第一次请求,则将该请求交给JSP引擎,并由JSP引擎将JSP页面翻译成Servlet,再交由Servlet引擎来运行由JSP页面生成的Servlet程序。
如果该页面不是第一次被访问,则Web服务器会直接将请求交给Servlet引擎来运行由JSP生成的Servlet程序


了解JavaWeb程序的配置文件
web.xml文件中配置的主要内容:(搜索?的地方知识点)
ServletContext初始化参数;?
Session配置;?
Servlet/JSP定义;
Servlet/JSP映射;?
标签库引用;?
MIME类型映射;?
欢迎页;
错误页;
安全信息;


1.3了解MVC模式与MVC框架(搜索Struts框架的工作流程图)


MVC模式的主要优势:
多个视图可以对应一个模型,这样有利于代码的重用。如果模型发生变化,也容易升级和维护;
由于模型和视图由Controller进行控制,并且模型和视图的分离的。因此,可以通过模型为视图提供不同的数据,如各类数据库,XML,和Excel等。
由于控制器负责访问视图和模型,因此可以在控制器中加入权限验证来限制用户对敏感资源的访问。
在MVC模式中,3个层次是分离的,降低了各个层次之间的耦合性,这样有利于对系统中的各层进行扩展。


了解常用的MVC框架
1、Struts 1.x
Struts 1.x是apache的一个开源项目,也是最早实现MVC模式的框架。Struts 1.x中相对于MVC模式有如下三层:
视图层(View):该层主要包括JSP、HTML等页面及JavaScript等客户端脚本。该层通过ActionForm和服务端进行交互;
控制层(Controller):Strut 1.x的Action属于控制层。通过Action,可以 控制视图和模型;
模型层(Model):该层主要是一系列处理业务逻辑和操作数据的Java类。


2、Struts 2.x
Struts 2.x虽然是从版本号上看是Struts 1.x的升级版本,但实际上是从Webwork框架升级来的。也与Struts 1.x大不相同。Struts 2.x的Action类可以使POJO(?),而Struts 1.x的Action类和ActionForm类需要从特定的类继承。而且Struts 2.x的Action对视图的控制也更灵活。


3、SpringMVC
SpringMVC是Spring框架自带的一个MVC框架。该框架为视图、模型和控制器之间提供了一个非常清晰的划分,各部分耦合度极低。SpringMVC框架完全基于接口编程,真正实现了与视图无关。在SpringMVC框架中并不要求视图一定要使用JSP。在该框架中视图可以使用Velocity(?)、XSLT或其他的视图技术,甚至可以自定义的视图技术,当然,这需要实现View接口。
Spring的控制器由Ioc容器管理,因此,对控制器进行维护更容易。SpringMVC框架通过DispatcherServlet进行控制。DispatcherServlet负责拦截所有的用户请求分给不同的控制器。
SpringMVC虽然很灵活,但由于SpringMVC框架和ServletAPT耦合,因此,SpringMVC框架的运行不能脱离Servlet容器,这也限制了SpringMVC框架的扩展性,而且SpringMVC框架的角色划分的太细,使用太频繁,从而降低了开发效率。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值