• Servlet知识点



    Servlet-第一节
    --------------------------------------------------------------------------------------------------------------------------------------------------
    1、Servlet的映射路径有哪些?
    精确映射:/abc 客户端只能以/abc访问servlet
    扩展映射:*.do 客户端以.do结尾的请求都能访问servlet
    路径映射:/abc/* 客户端以/abc/开始的请求都能访问servlet

    2、描述Servlet的生命周期,熟练掌握
    1、启动tomcat,读取conf/server.xml,确定启动端口和web应用程序存放目录
    2、读取并解析每个web应用程序的web.xml文件,以确定web组件的注册信息,一旦有一个web应用程序的web.xml文件书写有误,会导致解析失败,抛出异常。
    3、加载并实例化servlet。如果在注册servlet时,加入了<load-on-startup>标签,并该标签的值为正数,表示容器启动就实例化。否则,第一次访问servlet实例化。
    4、调用init()完成初始化。
    5、请求到达时,调用service()完成业务操作
    6、销毁阶段,调用destroy()完成资源清理。


    3、ServletConfig和ServletContext的作用。
    ServletConfig是配置接口,利用该接口对象的getInitParameter()可以得到该servlet的初始化配置信息。
    ServletContext是全局对象。主要作用有三个:1、读取<context-param>全局参数
    2、可以将虚拟路径转化为物理路径
    3、可以绑定对象在全局共享

    4、如何定义Servlet的初始化参数?Servlet的初始化参数如何获取?
    <servlet>
    <init-param>
    <param-name></param-name>
    <param-value></param-value>
    </init-param>
    </servlet>
    ServletConfig对象.getInitParameter();


    5、如何定义Servlet的全局参数?Servlet的全局参数如何获取?
    <web-app>
    <context-param>
    <param-name></param-name>
    <param-value></param-value>
    </context-param>
    </web-app>
    ServletContext对象.getInitParamter()


    6、如何得到web应用中文件的真实路径。
    ServletContext对象.getRealPath("/img/ss.jpg");


    7、如何绑定和获取全局共享对象?
    ServletContext对象.setAttribute("键",共享对象);
    ServletContext对象.getAttribute("键");得到共享对象


    8、状态码有几种?各代表什么含义。
    1开始:请求在进行中
    2开始:请求成功
    3开始:表示资源移走,请求新的地址
    4开始:客户端引发的异常
    5开始:服务器引发的异常

    9、响应头如何设置?
    response.setHeader("键","值");

    10、响应信息消息体的形式有哪些?
    1、向客户端发送文本数据。response.getWriter()
    2、向客户端发送二进制数据。response.getOutputStream();


    11、创建学生表t_student,字段:学号、姓名、电话、生日
    创建查询全部的Servlet,以表格方式显示全部数据。
    在每一行中,添加删除超链接,点击后,可以按学号删除学生。
    在每一行中,添加修改超链接,点击后,显示学生信息,并可以修改该学生的电话。


    Servlet-第二节
    --------------------------------------------------------------------------------------------------------------------------------------------------
    1、Http全称叫什么?有什么特点?端口号是多少?
    http全称叫超文本传输协议。特点:遵循请求/响应模型。无状态的协议。端口:80

    2、HTTP处理流程是怎么样的?
    1、客户端和服务器建立连接
    2、客户端发出请求
    3、服务器产生响应
    4、关闭连接

    3、HTTP请求信息和响应信息包括哪些内容?
    请求信息:请求行、请求头,空行,消息体
    响应信息:状态行、响应头、空行、消息体

    4、Web服务器的缺陷是什么?
    传统的Web服务器只能产生静态的html页面,极大影响响应信息的灵活性。

    5、什么是辅助应用?Java的解决方案是什么?
    辅助应用是为了解决Web服务器缺陷而产生的。辅助应用允许服务器在接收到请求信息以后,进行相关的业务操作,并动态产生响应信息。java的解决方案是Web容器+Servlet。

    6、Web容器对servlet支持包括哪些?
    1、通信支持 2、Servlet生命周期管理 3、多线程支持 4、jsp支持 5、处理安全性

    7、Java Web应用程序目录结构是怎么样的?
    在根目录或根目录的子目录,存放能被客户端直接访问的资源,比如:图片、css文件、html、js文件。在根目录下需要提供WEB-INF目录,该目录存放比较隐秘的信息。该目录下的资源不能被客户端直接访问。在WEB-INF目录中,有classes目录存放开发者编写的类生成class文件;有lib目录存放第三方的jar包。web.xml文件用于web组件的注册。

    8、WEB-INF的作用是什么?
    9、Tomcat结构是怎样的?
    bin:存放可执行文件
    conf:存放配置文件
    lib:存放tomcat运行时需要使用的jar包
    logs:存放日志文件
    temp:存放临时文件
    webapps:存放web应用程序
    work:对jsp做支持

    10、servlet的类架构是怎样的?
    按照Servlet规范,Servlet为业务接口,提供service方法由开发书写业务操作。ServletConfig为配置接口,提供Servlet的初始信息。由于两个接口方法较多,所以提供了适配器类GenericServlet。对两个接口的大部分方法做了简单的实现。但没有实现service()。该方法由它的子类根据自身协议的特点做实现。HttpServlet根据Http协议重写了该方法,根据不同的请求方式,调用doXX()。

    11、servlet如何注册?要求熟练掌握
    <servlet>
    <servlet-name>ddd</servlet-name>
    <servlet-class>类全路径</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>ddd</servlet-name>
    <url-pattern>/aaa</url-pattern>
    </servlet-mapping>


    12、如何解决输出中文乱码问题,如何解决表单数据的乱码问题?
    request.setCharacterEncoding("utf-8");
    response.setContentType("text/html;charset=utf-8");


    13、编码题:
    表结构:id userName sex age
    完成一个servlet,访问该servlet并查询数据库。输出一个表中所有的记录内容。书写一个网页,建立表单,当用户在表单中输入姓名,可以按姓名模糊查询数据库的内容


    Servlet-第三节
    --------------------------------------------------------------------------------------------------------------------------------------------------
    1.重定向的工作流程。
    客户端向服务器发出请求,Servlet调用response.sendRedirect()。重定向到指定资源。产生响应时,会产生302状态码,同时产生location响应头。在location响应头中指明资源的路径。客户端在接收到响应信息后,发现是302状态码,会读取location响应头,再向服务器发出第二次请求

    2.http请求协议中包含哪几部份。
    请求行,请求头,空行,消息体

    3.如何获得请求头
    request.getHeader("");

    4.解释get请求和post请求的区别,哪些请求是get,哪种是post.
    get与post的区别:
    1、流格式的区别 get请求信息分为请求行,请求头,空行。 POST请求分为请求行,请求头,空行,消息体。
    2、用途的区别 get主要用于资源的查找。POST方式主要用于数据的传输。
    3、传输性能的区别 get方式只能传输文本数据,不能传输大数据,表单数据会显示在浏览器地址栏,不安全。
    post方式可以传输文本和二进制数据。可以传输大数据,表单数据不会显示在浏览器地址栏,相对安全。


    5.request对象如何获取表单数据.
    getParameter(),返回字符串类型,根据键得到值。如果有多个同名键值对,只能返回第一个值。
    getParameterValues,返回字符串数组,根据键,得到该键对应的所有值。

    6、在商品项目中,完成批量删除。
    在每一行中添加复选框,向服务器传入需要删除商品ID,在服务器创建servlet完成批量删除后,请求转发到显示全部的servlet。

  • 相关阅读:
    微信小程序 视频广告展示异常(“表情、壁纸”等页面,当视频广告与顶部区域重叠时,视频广告呈现透明状态,需重新设置视频广告的层级即可)
    Vue:The template root requires exactly one element.的解决办法
    Angular之ES6语法实现数组去重
    Java程序中的代理作用和应用场景及实现
    Hadoop hdfs副本存储和纠删码(Erasure Coding)存储优缺点
    Hadoop源码:namenode格式化和启动过程实现
    ssh免密登录设置后不生效
    递归查询子级元素,返回树形菜单数据
    mysql设置密码
    PX4飞行模式简单对比梳理
  • 原文地址:https://www.cnblogs.com/newcode/p/9230020.html
Copyright © 2020-2023  润新知