1、请求 HttpServletRequest      响应 HttpServletResponse

请求头、请求行、请求体(请求参数)。

package net.pp.servlet;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.swing.*;
import java.io.IOException;
import java.util.Enumeration;public class HelloService extends HttpServlet{@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse resp) throws ServletException, IOException{//请求 HttpServletRequest//获取请求行System.out.println("接收到get请求");System.out.println("请求方式:" +request.getMethod());System.out.println("URL:" +request.getRequestURL());System.out.println("发出请求客户端IP地址:"  +request.getRemoteAddr());System.out.println("服务点接收请求的IP地址:" +request.getLocalAddr());System.out.println("访问客户端的端口号:" +request.getRemotePort());System.out.println("WEB应用路径:" +request.getContextPath());System.out.println("HTTP协议和版本" +request.getProtocol());//获取请求头Enumeration<String> headerNames = request.getHeaderNames();while (headerNames.hasMoreElements()){String element = headerNames.nextElement();System.out.println(element+":"+request.getHeader(element));}//获取请求参数String name = request.getParameter("name");String passWord = request.getParameter("passWord");System.out.println("用户名:" + name);System.out.println("密码:" + passWord);//响应 HttpServletResponseString result = "恭喜您登陆成功";//法一:ServletOutputStream outputStream = response.getOutputStream();outputStream.write(result.getBytes());//法二:response.setContentType("text/html;charset=utf-8");//将iso转化为utf-8,否则会出现码PrintWriter writer = response.getWriter();writer.write(result);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{System.out.println("接收到post请求");}}

get.html

<center><h2>发起HTTP get请求</h2><form action="hi" method="get"><p>账号:<input type="text" name="name" /></p><p>密码:<input type="text" name="passWord" /></p><input type="submit" value="提交" /></form></center>

结果如下:

2、ServletContext对象

ServletContext对象是它对应的Web应用环境的相关配置信息

应用:

1)获取整个Web项目初始化参数;

2)在多个Servlet中共享数据;

3)读取Web项目中的资源文件。

1.获取整个Web项目初始化参数;

ServletTest2.java

package net.pp.servlet;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet(name = "ServletTest2", urlPatterns = "/test2")
public class ServletTest2 extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//利用getServletContext()获取全局变量String encoding = this.getServletContext().getInitParameter("encoding");this.getServletContext().getInitParameterNames();System.out.println(encoding);}
}

结果是:

2.在多个Servlet中共享数据

ServleTest3.java

package net.pp.servlet;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet(name = "ServletTest3", urlPatterns = "/test3")
public class ServletTest3 extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String data = "pengpeng";this.getServletContext().setAttribute("name", data);}
}

ServleTest4.java

package net.pp.servlet;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet(name = "ServletTest4", urlPatterns = "/test4")
public class ServletTest4 extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String name = (String) this.getServletContext().getAttribute("name");System.out.println(name);}
}

结果是:

3)读取Web项目中的资源文件

ServletTest5.java

package net.pp.servlet;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;@WebServlet(name = "ServletTest5", urlPatterns = "/test5")
public class ServletTest5 extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {InputStream resourceAsStream = this.getServletContext().getResourceAsStream("/db.properties");Properties properties = new Properties();properties.load(resourceAsStream);String name = properties.getProperty("name");String password = properties.getProperty("passWord");String url = properties.getProperty("url");System.out.println(url);System.out.println(name);System.out.println(password);}
}

db,properties

url=jdbc:mysql://localhost:3306
name = mysql of pengpeng
passWord = 888888

结果是:

Servlet请求和响应相关推荐

  1. servlet请求与响应的练习实例

    发起请求的代码: package com.dym.servlet;import java.io.IOException;import javax.servlet.ServletException; i ...

  2. Servlet请求和响应总结

    1.解决乱码问题 通过Request的设置编码表方法和Respose设置浏览器展示编码表解决 //设置请求字符编码,防止乱码 req.setCharacterEncoding("utf-8& ...

  3. servlet请求和响应的过程

    1.加载 Servlet类被加载到Java虚拟机中,并且实例化.在这个过程中,web容器(例如tomcat)会调用Servlet类的公开无参构造函数,产生一个Servlet类的实例对象.默认情况下Se ...

  4. Java web—Servlet的请求与响应

    前言:         在家上网课快上疯了╰(‵□′)╯,上课连课本都没有,太难受了呜呜呜~, 只能在blog里记录一下这段时间的学习的内容,太难了- 一.servlet概述: 运行在WEB服务器端的 ...

  5. ajax servlet设置响应,在jquery的请求ajax与在servlet中的响应ajax

    这次给大家带来在jquery的请求ajax与在servlet中的响应ajax,在jquery的请求ajax与在servlet中的响应ajax的注意事项有哪些,下面就是实战案例,一起来看一下. 在jsp ...

  6. 【JavaLearn】#(23)JSP相关语法、HTTP协议、Servlet介绍、Servlet生命周期、请求和响应、相对路径、转发和重定向

    1. JSP简单内容 1.1 JavaEE JavaEE 包含JSP JavaEE是一个开发分布式企业级应用的规范和标准.JavaEE包含之前学过的所有内容(JavaSE) 真正开发中,很少使用Jav ...

  7. Servlet生命周期及请求、响应

    一.Servlet生命周期 Servlet运行在Servlet容器中,其生命周期由容器全盘控制.容器会创建请求和响应对象.为Servlet分配一个线程.调用servlet的service()方法,并传 ...

  8. 解决servlet请求转发、响应重定向无法实现页面跳转问题

    问题:login.html能正常运行,但当用户名和密码正确后,点击登录按钮,通过html页面的action属性值和servlet页面的urlPatterns属性值,实现servlet请求转发,无法实现 ...

  9. 【SSM框架系列】SpringMVC的请求和响应

    request和response request对象的作用 获取请求参数 作为域对象存取数据 获取请求头 请求转发 response功能 回写数据,JSON格式字符串 页面跳转(请求重定向) Spri ...

  10. Spring Cloud Gateway-ServerWebExchange核心方法与请求或者响应内容的修改

    Spring Cloud Gateway-ServerWebExchange核心方法与请求或者响应内容的修改 前提 本文编写的时候使用的Spring Cloud Gateway版本为当时最新的版本Gr ...

最新文章

  1. Spring-Boot:5分钟掌握SpringBoot开发
  2. libtorch Tensor cannot be used as a tuple
  3. mysql调用函数可以打断点吗_糖尿病人可以吃杂粮粥吗?不用纠结,注意2点即可...
  4. c语言的程序框图怎么写,C语言课程设计————写下流程图! 谢谢
  5. Java黑皮书课后题第1章:1.3(显示图案)编写程序,显示下面的图案 Java
  6. 收到手机第二天就自燃?S10机主怒告三星 要求道歉并索赔1元
  7. [算法] 循环有序数组查找递归实现
  8. Java 并发之 FutureTask 的基本使用
  9. 四大障碍将阻止或减缓广电发展宽带业务
  10. Unity 接入科大讯飞语音识别及语音合成
  11. QQ文件保险柜与Truecrypt之对比.
  12. http://www.xun6.net/file/931caf122/f721.rar.html
  13. 电子密码锁程序C语言,基于C语言STC89C52单片机电子密码锁的设计与仿真
  14. idea2018下载-补丁破解激活
  15. c语言程序项目设计三角函数,《C语言及程序设计》实践参考——编制三角函数表...
  16. Oracle 12c 数据库的环境搭建以及安装过程
  17. c语言子函数作用是什么意思,C语言编译器中常见的函数用法以及作用详解
  18. 2000万tpmC!zData X 数据库一体机性能再突破
  19. Ae动态模糊插件ReelSmart Motion Blur
  20. 智行者王肖:自动驾驶本质在于对待数据的态度、获取及应用方式 | 自动驾驶这十年...

热门文章

  1. MySQL Innodb data_free 清理
  2. Android应用开发的一些思考
  3. 《C++程序设计POJ》《WEEK3 类和对象进阶》成员对象和封闭类/友元/this指针/常量成员函数...
  4. 多项式函数插值:计算基本理论
  5. npm安装为什么要安装gyp各种报错呢
  6. 自己搭建了一个简单实用的Web版记事本
  7. Android短信页面
  8. jQuery整理您的笔记----jQuery开始
  9. ibatis中输入/输出各种类型的参数分析及#与$区别 (转)
  10. 【收藏】Windows 8 Consumer Preview的108个运行命令及简要说明