servlet

servlet介绍

javaWeb三大组件之一,Servlet程序,Filter程序,Listener监听器,它可以接收客户端发送过来的请求,并响应数据给客户端。

实现servlet程序

  1. 创建一个类去实现servlet接口
  2. 实现service方法,处理请求,并响应数据
  3. 在web.xml中配置servlet程序的访问地址
    web.xml配置servlet
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <!-- servlet标签给tomcat配置servlet程序 -->
    <servlet>
        <!-- servlet-name标签 Servlet程序起一个别名(一般就是类名) -->
        <servlet-name>HelloServlet</servlet-name>
        <!-- 是servlet程序的全类名 -->
        <servlet-class>com.atlianxi.servlet.HelloServlet</servlet-class>
    </servlet>
    <!--mapping标签给servlet程序配置访问地址-->
    <servlet-mapping>
        <!--name标签作用是告诉服务器,当前配置的地址给哪个servlet程序使用-->
        <servlet-name>HelloServlet</servlet-name>
        <!--配置的访问地址-->
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
</web-app>
通过mapping里面的url找到上面的那么再通过name里的类名找到上方servlet里的name然后通过name找到下面的class再找到class里面的service方法,需要执行的内容

servlet生命周期

  1. 执行servlet构造器方法
  2. 执行init初始化方法
    第一第二步,是在第一次访问的时候创建servlet程序会调用。
  3. 执行service方法
    第三步每次访问都会调用。
  4. 执行destroy销毁方法
    第四步,在web工程停止的时候调用。

通过继承HttpServlet实现Servlet程序(另一种就是接口实现Servlet)

  1. 编写一个类去继承HttpServlet类
  2. 根据业务需要重写doGet或doPost方法
  3. web.xml中配置Servlet程序的访问地址
    通过idea直接创建servlet程序:右键new–>Create New Servlet,name和类名一致,去掉最下方的勾选即可

ServletConfig类的三大作用

  1. 可以获取servlet程序的别名servlet-name的值
  2. 获取初始化参数init-param
  3. 获取servletContext对象

ServletContext

  1. 是一个接口,它表示servlet上下文对象
  2. 一个web工程,只有一个ServletContext对象实例
  3. 是一个域对象
    什么是域对象?
    可以像map一样存取数据的对象,这里的域指的是存取数据的操作范围。
    servletcontext作用?
  4. 获取web.xml中配置的上下文参数context-param
  5. 取当前的工程路径,格式:/工程路径
  6. 程部署后在服务器硬盘上的绝对路径
  7. ap一样存取数据

常用请求头说明

  1. Accept:表示客户端可以接收的数据类型
  2. Accept-Languege:表示客户端可以接收的语言类型
  3. User-Agent:表示客户端浏览器的信息
  4. Host:表示请求时的服务器ip和端口号

Java三层架构

笔记笔记

debug调试

在这里插入图片描述

  1. f8 :让代码往下执行一行
  2. f7: 可以进入当前方法体内(自己写的代码,非其它框架源码)
  3. shift+f8:跳出当前方法体外
  4. Alt+shift+f7:强制进入方法体内
  5. Alt+f9:停在光标所在行(相当于临时断点)
    • 方法调用栈窗口?
    • 可以查看当前线程有哪些方法调用信息
    • 下面的调用上一行的方法

问题

  1. 解决post请求中文乱码问题
    req.setCharacterEncoding(“UTF-8”);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值