Servlet

1. Servlet 技术

  • 什么是Servlet
    • Servlet是JavaEE 规范。 规范就是接口
    • servlet是Java Web 三大组件之一。三大组件分别是Servlet程序,Filter过滤器,Listener监听器。
    • servlet 是 运行在服务器上的Java小程序, 它可以接受客户端发送过来的请求,并响应数据给客户端。

2. ServletContext类

  • ServletCotext是一个接口,它表示Servlet上下文对象
  • 一个web工程,只有一个ServletContext对象实例
  • WEB容器在启动时,它会为每个Web应用程序都创建一个对应的ServletContext,它代表当前Web应用。并且它被所有客户端共享。
  • 由于一个WEB应用中的所有Servlet共享同一个ServletContext对象,因此Servlet对象之间可以通过ServletContext对象来实现通讯。ServletContext对象通常也被称之为context域对象。公共聊天室就会用到它。
  • 当web应用关闭、Tomcat关闭或者Web应用reload的时候,ServletContext对象会被销毁
  • ServletContext对象可以通过ServletConfig.getServletContext()方法获得对ServletContext对象的引用,也可以通过this.getServletContext()方法获得其对象的引用。
  • ServletContext对象是一个域对象(可以像Map一样存取数据的对象)

3. 请求的HTTP协议格式

  • 客户端给服务器发送的数据叫请求
  • 服务器给客户端回传数据叫响应
  • 哪些是get请求,哪些是post请求:
    • GET请求有哪些:
      • form标签 method=“get”
      • a 标签
      • link标签引入css
      • script标签引入图片
      • iframe引入html页面
      • 在浏览器地址栏中输入地址后敲回车
    • POST:
      • form标签 method=“post”

4. HttpServletRequest类:

  • HttpServletRequest类有什么作用:每次只要有请求进入Tomcat服务器,Tomcat服务器就会把请求过来的HTTP协议进行解析好封装到Request对象当中,我们可以通过HttpServletRequest对象,获取到所有请求的信息。

  • HttpServletRequest类获取请求参数值:
    前端html页面:
    在这里插入图片描述

    servlet文件:

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String[] hobby = request.getParameterValues("hobby");
        System.out.println("用户名:" + username);
        System.out.println("密码:" + password);
        System.out.println("兴趣爱好:" + Arrays.asList(hobby));
    }
    

    output:

    用户名:abcd
    密码:123
    兴趣爱好:[C++, Java, JS]
    
    • 如果前端页面的数据是个数组或集合,应该用request.getParameterValues来接收

5. RequestDispatcher请求转发的特点:

  • 浏览器地址栏没有变化
  • 他们是一次请求
  • 他们共享Request域中的数据
  • 可以转发到Web-INF目录下

6. HttpServletResponse类:

  • HttpServletResponse类的作用:HttpServletResponse类和HttpServletRequest类一样。每次请求进来,Tomcat服务器都会创建一个Response对象传递给Servlet程序去使用。HttpSevletRequest表示请求过来的信息,HtttpServletReponse表示所有响应的信息。
  • 两个输出流说明:
    • 字节流:getOutputStream(); //常用于下载(传递二进制数据)
    • 字符流:getWritter(); //常用于回传字符串
  • 使用字节流,就不能再使用字符流,反之亦然,否则就会报错。
  • 给客户端回传字符串数据:response.getWriter().write(内容);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值