老方法:(复杂不适用快速开发)
package com.itheima.web;
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.BufferedReader;
import java.io.IOException;
@WebServlet("/req1")
public class request_demo01 extends HttpServlet {
/*
*String getMethod():获取请求方式 GET
*String getContextPath():获取虚拟目录(项目访问路径):/request-demo
*StringBuffer getRequestURL():获取url(统一资源定位符):http:/localhost:8080/request-demo/req1
*String getRequestURL():获取url(统一资源定位符):/request-demo/req1
*String getQueryString():获取请求参数(GET)/username=zhangsan&password=123
*/
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String method = req.getMethod();
System.out.println(method); //获取请求方式 GET
String contextPath = req.getContextPath();
System.out.println(contextPath);//获取虚拟目录(项目访问路径)(模块)
StringBuffer stringBufferRequestURL = req.getRequestURL();
System.out.println(stringBufferRequestURL);//获取url(统一资源定位符),获取全目录
String requestURI = req.getRequestURI();
System.out.println(requestURI);//获取url(统一资源定位符)(模块+访问文件名称)
String queryString = req.getQueryString();
System.out.println(queryString);//:获取请求参数(GET)地址栏参数
//-------------
//获取请求头浏览器版信息
String header = req.getHeader("User-Agent");
System.out.println(header);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//-------------
//获取请求体POST
//1.获取字符输入流
BufferedReader reader = req.getReader();
//读取数据
String s = reader.readLine();
System.out.println(s);
}
}
新方法:(脑子不好使才用)
package com.itheima.web;
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.BufferedReader;
import java.io.IOException;
import java.util.Map;
@WebServlet("/req2")
public class request_demo02 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("get...");
//1.获取所以参数的MAP集合>>>>通用方式来获取浏览器传递的参数
Map<String, String[]> map = req.getParameterMap();
for (String key :map.keySet()) {
//打印格式username:zhangsan
System.out.print(key+":");
//获每个键对应的值
String[] values = map.get(key);
for (String value: values ) {
System.out.println(value+" ");
}
}
//---------------------------------
System.out.println("--------------------------------");
//根据key获取参数值,数组
String[] hobbies = req.getParameterValues("hobby");
for (String hobby: hobbies)
{
System.out.println(hobby);
}
//根据key,获取单个的参数值
String username = req.getParameter("username");
String password = req.getParameter("password");
System.out.println(username);
System.out.println(password);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("post...");
//1.获取所以参数的MAP集合>>>>通用方式来获取浏览器传递的参数
Map<String, String[]> map = req.getParameterMap();
for (String key :map.keySet()) {
//打印格式username:zhangsan
System.out.print(key+":");
//获每个键对应的值
String[] values = map.get(key);
for (String value: values ) {
System.out.print(value+" ");
}
System.out.println();
}
//---------------------------------
System.out.println("--------------------------------");
//根据key获取参数值,数组
String[] hobbies = req.getParameterValues("hobby");
for (String hobby: hobbies)
{
System.out.println(hobby);
}
//根据key,获取单个的参数值
String username = req.getParameter("username");
String password = req.getParameter("password");
System.out.println(username);
System.out.println(password);
}
}
简单方法:
package com.itheima.web;
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.util.Map;
@WebServlet("/req2")
public class requestFinal_Edition_demo0 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// System.out.println("get...");
//1.获取所以参数的MAP集合>>>>通用方式来获取浏览器传递的参数
Map<String, String[]> map = req.getParameterMap();
for (String key :map.keySet()) {
//打印格式username:zhangsan
System.out.print(key+":");
//获每个键对应的值
String[] values = map.get(key);
for (String value: values ) {
System.out.println(value+" ");
}
}
//---------------------------------
System.out.println("--------------------------------");
//根据key获取参数值,数组
String[] hobbies = req.getParameterValues("hobby");
for (String hobby: hobbies)
{
System.out.println(hobby);
}
//根据key,获取单个的参数值
String username = req.getParameter("username");
String password = req.getParameter("password");
System.out.println(username);
System.out.println(password);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req,resp);
/*System.out.println("post...");
//1.获取所以参数的MAP集合>>>>通用方式来获取浏览器传递的参数
Map<String, String[]> map = req.getParameterMap();
for (String key :map.keySet()) {
//打印格式username:zhangsan
System.out.print(key+":");
//获每个键对应的值
String[] values = map.get(key);
for (String value: values ) {
System.out.print(value+" ");
}
System.out.println();
}
//---------------------------------
System.out.println("--------------------------------");
//根据key获取参数值,数组
String[] hobbies = req.getParameterValues("hobby");
for (String hobby: hobbies)
{
System.out.println(hobby);
}
//根据key,获取单个的参数值
String username = req.getParameter("username");
String password = req.getParameter("password");
System.out.println(username);
System.out.println(password);*/
}
}