• Servlet—基础


    什么是Servlet?

    1 . jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代

    码,Web容器将JSP的代码编译成JVM能够识别的java类)

     

    2. jsp更擅长表现于页面显示,servlet更擅长于逻辑控制.servlet控制器降低耦合性

     

    3. Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,

    HttpServletResponse对象以及HttpServlet对象得到.Jsp是Servlet的一种简化,使用Jsp只需要完

    成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。而

    Servlet则是个完整的Java类,这个类的Service方法用于生成对客户端的响应。

     

    JSP和Servlet的区别?

    1.在JSP是在Servlet技术产生之后才产生的,为什么?

    2.jsp在服务器经过翻译编译之后的java文件,其实是继承

    org.apache.jasper.runtime.HttpJspBase类(编相应

    的jspService方法,输出指定的html代码)

    并实现了org.apache.jasper.runtime.JspSourceDependent

    接口

    3.HttpJspBase类其实也是继承HttpServlet类,所以说,JSP

    本质上也和servlet一样继承自HttpServlet类。所以说

    jsp本质上也是一个servlet,都运行在服务器端。

    Servlet:是一个类,运行在服务器端,用来接受请求和响应请求

     

    Servlet的使用

    Servlet的应用步骤:

    1:创建Servlet类,继承HttpServlet类,重写doPost()/doGet()方法

    2:部署Servlet

    a)编译Servlet到/WEB-INF/classes目录

    b)编辑部署描述文件web.xml

    3:通过浏览器访问servlet.

     

    编辑部署描述文件web.xml

    <servlet>

    <servlet-name>MyServlet</servlet-name>//这里是servlet 的名字,自己定义 的

    <servlet-class>Servlet </servlet-class>//这里是servlet的位置 。 如果在一个包下就写包名.类名,容器会从class的路径去实例化servlet。

    </servlet>

    <servlet-mapping>

    <servlet-name>MyServlet </servlet-name>//跟上面的;servlet-name 必须一样

    <url-pattern>/abc </url-pattern>//这是在地址 输入访问的时候 输入的,自己定义

    </servlet-mapping>

     

    <url-pattern>的三种配置方式:

     

     

     

     

     

    Servlet的结构

    Servlet接口 :定义了一些接收用户请求,处理用户请求的方法,Servlet自身的方法。

    ServletConfig:每一个Servlet都对应一个ServletConfig 实例(实例作为init方法的参数传进去)里面是 关于Servlet的一些配置。

    GenericServlet:实现了上面两个接口,但是并没有实现全部 的方法,所以还是一个抽象类。

    HttpServlet :实现了GenericServlet的部分方法,所以HttpServlet也是抽象类,处理http协议的请求和响应

     

     

     

     

     

     

    Servlet的请求

    请求和响应的接口的继承关系

     

     

    什么是请求的上下文路径?

    要访问的项目的根目录的路径:localhost:6060/new2/

     

     

  • 相关阅读:
    Integer的十进制转二,八,十六进制
    Java内存模型
    python gui --tkinter
    图论-最短路径
    Java NIO
    浏览器关闭后,Session就销毁了吗?
    mysql查询最新一条数据
    MySQL 查看命令执行时间
    MySQL 删除devices表中id最大的一行
    MySQL中的联表查询与子查询
  • 原文地址:https://www.cnblogs.com/domi22/p/8047618.html
Copyright © 2020-2023  润新知