• 一、动态网络编程的概念 二、Tomcat服务器搭建 三、Servlet组件介绍


    一、动态网络编程的概念
    动态网页:结合了HTML以外的高级程序编程语言和数据库技术生成的页面。

    动态网页编程技术:
    ASP,PHP,JSP

    HTTP协议:规范浏览器和服务器之间通信的数据格式。
    浏览器发送请求和服务器响应结果时的数据格式。

    请求和响应模式:
    用户通过浏览器发送HTTP请求至服务器
    服务器(Tomcat)接受到请求后,解析请求数据(项目/资源),服务器查找部署的项目和具体的组件(Serlvet组件)处理请求
    服务器封装响应结果数据包,通过网络将结果发送回浏览器
    浏览器解析响应数据包(response body:结果),显示到浏览器上

    ![](1.png)

    # 二、搭建Tomcat
    ###<1>步骤
    1. 下载
    2. 解压
    3. 配置环境变量
    JAVA_HOME JDK
    4. 在eclipse中配置tomcat
    window---preferences---server---runtime environment ---选择tomcat版本---管理tomcat

    ###<2>Tomcat和Apache的区别
    两个都是web服务器
    Apache是普通的服务器,只支持普通网页
    Tomcat是java应用的服务器,支持java项目

    ###<3>HTTP的状态码
    1XX:提示信息
    2XX:成功
    3XX:重定向
    4XX:客户端错误
    5XX:服务器端错误

    200: 客户端请求成功
    404: 资源不存在
    500:服务器发生错误

    # 三、Servlet组件
    ###<0>概念
    Servlet是运行在服务器上的java对象
    处理客户端的请求和响应处理结果

    ###<1>实现步骤
    1. 创建一个java类,实现Servlet接口
    (在实际的开发中,通常不会去实现接口,继承HttpServlet类)
    2. 重写Servlet接口中的方法
    service()
    3. 在web.xml中进行配置Servlet
    <servlet>
    <servlet-name>servlet的别名</servlet-name>
    <servlet-class>servlet的类全名</servlet-class>
    </servlet>

    <servlet-mapping>
    <servlet-name>servlet的别名</servlet-name>
    <url-pattern>url中请求servlet的名称</url-pattern>
    </servlet-mapping>

    ###<2>url-pattern的配置方式
    1. <url-pattern>/</url-pattern> 表示此/对应Servlet是缺省的Servlet(DefaultServlet)
    客户端的所有访问都交给此Servlet处理,如果访问的资源不存在,则显示404页面

    2. /servlet的url名称 , 例如:/myservlet ,完全匹配
    3. /目录* ,例如:/a/b/c , 目录匹配
    4. *.扩展名 ,例如:*.do , 扩展名匹配


    ###<3>Servlet响应结果数据的乱码处理:HttpServletResponse
    1. 响应的结果数据是纯本文数据:response.setCharacterEncoding("gbk");
    设置当前响应结果的字符集
    不设置会使用当前浏览器默认的字符集进行解码

    2. 响应的结果数据是页面数据:response.setContentType("text/html;charset=utf-8");//在 创建流对象之前设置页面的编码
    设置当前页面响应结果的字符集

    ###<4>Servlet的生命周期
    实例化Servlet---->初始化Servlet---->服务----->销毁----->回收

    ![](2.png)

    ![](3.png)

    1. 实例化
    第一次请求此Servlet
    服务器启动时:在web.xml中配置<load-on-startup>num</load-on-startup>
    num:Servlet被实例化的顺序,越小优先级越高
    <servlet>
    <servlet-name>myservlet4</servlet-name>
    <servlet-class>cn.xdl.serlvet.MyServlet4</servlet-class>

    <load-on-startup>1</load-on-startup>
    </servlet>


    2. 初始化
    实例化完毕之后,直接调用init方法对当前的Servlet进行初始化操作
    init方法只执行一次
    在此方法中获取Servlet中存储的配置参数
    <servlet>
    <init-param>
    <param-name>url</param-name>
    <param-value>jdbc:mysql://localhost:3306/db1</param-value>
    </init-param>
    </servlet>
    3. 服务
    重写service方法
    重写doget/dopost方法

    4. 销毁
    调用destroy方法
    服务器停止时
    将当前的程序从服务器上移除

    5. 回收
    被GC回收

    内存( 栈 堆 方法区)

    GC回收 : 堆 ,方法区 (线程共享的区域)

    Java对象引用:

    6. Tomcat只维护一个相同的Servlet实例

    不忘初心,方得始终! 坚持!坚持!坚持!!
  • 相关阅读:
    流程控制
    数据类型和运算符
    抽奖
    蓝桥杯 第五届
    python下编译py成pyc和pyo
    Django中提示TemplateDoesNotExist?
    Ubuntu16.04 apache2 wsgi 部署django
    Ubuntu 14.04下Django+MySQL安装部署全过程
    LVM原理及PV、VG、LV、PE、LE关系图
    SQLServer2008-镜像数据库实施手册(双机)SQL-Server2014同样适用
  • 原文地址:https://www.cnblogs.com/sumboy/p/9058638.html
Copyright © 2020-2023  润新知