Java Web了解和Servlet初次见面

一、JavaWeb简介

  1、Java Web是用Java技术来解决相关web互联网领域的技术总和

  2、Web包括web服务器和web客户端两部分

    Java在客户端的应用有java applet(使用的很少)

    java在服务器端的应用有比如Servlet,JSP和第三方框架等等

二、应用最多的两种网络应用程序开发体系

  1、C/S体系结构(Client客户端/Server服务器)

      在这种结构中,服务器通常采用高性能的pc机或工作站,并采用大型数据库系统

    客户端则需要安装专用的客户端软件

      优点:一对一,请求响应快

      缺点:耗费资源

  2、B/S体系结构(Browser浏览器/Server服务器)

      在这种结构中,客户端不需要开发任何用户界面,而同一采用如IE、Firefox、Chrome等浏览器,

    通过web浏览器向web服务器发送请求,由web服务器进行处理,并将处理结果逐级传回客户端。

      优点:一对多,节省资源,维护升级简单

      缺点:传输数据量大,服务器运行负载较重

三、Web应用程序工作原理

  1、静态网站

    

      静态网站使用HTML语言编写,放在Web服务器上,用户使用浏览器通过HTTP协议请求服务器上的Web页面,

    服务器上的Web服务器将接收到的用户请求处理后发送给客户端,显示给用户。

  2、动态网站

    

      动态网站通常使用HTML语言和动态脚本语言(如JSP、ASP、PHP等)编写,并将编写后的程序部署到Web服务器上,

    由Web服务器对动态脚本代码进行处理,并转化为浏览器可以解析的HTML代码,返回给客户端浏览器,显示给客户。

四、Web应用技术

  1、客户端应用的技术

    HTML语言、CSS、Flash和客户端脚本技术(JavaScript)

  2、服务器端应用的技术

    CGI(公共网关接口)

    ASP(微软研发的技术)

    PHP(开源的Web服务器脚本语言)

    JSP(Java Server Page)

    Servlet(Server和Applet的缩写)

五、HTTP协议(Hypertext Transfer Protocol,超文本传输协议)

  1、HTTP协议的主要特点

    ·支持客户/服务器模式

    ·简单快速、灵活

    ·HTTP1.1支持长连接

      当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,客户端再次传输数据时会沿用这条连接

    ·无状态

      HTTP协议对事物没有记忆,服务器不知道客户端的状态

  2、HTTP之URL

    HTTP URL格式:http://host[":"port][abs_path]

      http:表示通过http协议来定位网络资源

      host:表示合法的Interent主机域名或Ip地址

      port:指定端口号,为空则使用缺省端口80

      abs_path:请求资源的URI

  3、HTTP请求

    http请求由三部分组成:请求行、请求头、请求体

      请求行由请求方式、URL、协议版本组成

      请求头由报头域(名字+“:”+空格+值)组成

        Referer:该请求头指明请求从哪里来,通常用来统计工作或防盗链

      get方式没有请求体,请求参数直接写在请求行后面

      

  4、HTTP响应

    http响应由三部分组成:状态行、消息报头、响应体

      状态行由协议版本、状态码、状态描述组成

      Refresh:自动跳转,可以在页面通过meta标签实现,也可以在后台实现

六、Servlet的实现

  1、创建动态web项目

    

  2、新建类

  3、实现Servlet规范(三种方式)

    1、继承HttpServlet

      

    2、继承GenericServlet

      

    3、实现Servlet接口

      

  4、重写service方法

  5、配置web.xml

      向服务器说明,特定请求对应特定资源

七、Servlet执行过程     

  1、通过浏览器地址栏的站点名去服务器中找到具体的项目

  2、通过浏览器地址栏的站点名后的路径找到对应的项目中web.xml中的<url-pattern>

  3、通过<url-pattern>找对应的servlet-mapping,得到servlet-name

  4、通过servlet-name找到对应的servlet,再得到servlet-class

  5、调用具体的servlet的service方法

八、Servlet的生命周期

  ·初始化时机:当请求第一次到达servlet时,servlet会被实例化,只会被执行一次(如果请求到达sevlet时,servlet未被实例化,才会执行初始化方法)

    

  ·服务时期:只要请求到达servlet,该方法机会被调用,可以调用多次

    

  ·销毁时机:servlet实例销毁时调用,服务器正常关闭时关闭

     

九、Servlet的配置

  Servlet出了配置基本的访问信息,还可配置初始化参数、自启动等,并且一个Servlet可以配置多个访问路径,还可以使用通配符*

    

   url-pattern可以配置多个,但多个Servlet不可以配置同一个url-pattern

  "*"只能放最前面或最后面不能放中间且不能单独存在,以/分隔不能和单词组成整体,越精确越优先。

  

原文地址:https://www.cnblogs.com/dhome/p/9544967.html