JSP/SERVLET(4)——JSP、SERVLET交互

本文详细阐述了HTTP请求处理过程中的关键步骤,包括获取请求行、请求头、实体内容等信息,并通过实例展示了如何解析并响应这些信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.bjsxt;

import java.io.IOException;
import java.util.Enumeration;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloReq extends HttpServlet {
 @Override
 protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    //获取请求行里面的信息
    //getRequestLine(req);
    //获取请求头的信息
    //getRequestHeader(req);
    //获取网路信息
    //getRequestWeb(req);
    //获取实体内容信息
    getRequestBody(req);
 }

 private void getRequestBody(HttpServletRequest req) {
    //获取用户名密码
    String uname = req.getParameter("uname");
    String pwd = req.getParameter("pwd");
    System.out.println("HelloReq.getRequestBody()" + uname + pwd);
    //获取爱好
    String[] fav = req.getParameterValues("fav");
    if (fav != null) {
       for (int i = 0; i < fav.length; i++) {
          System.out.println("HelloReq.getRequestBody()" + fav[i]);
       }
    }
 }

 
 private void getRequestWeb(HttpServletRequest req) {
    System.out.println("HelloReq.getRequestWeb(客户端)" + req.getRemoteAddr() + ":" + req.getRemotePort());
    System.out.println("HelloReq.getRequestWeb(服务器)" + req.getLocalAddr() + ":" + req.getLocalPort());
 }

 
 private void getRequestHeader(HttpServletRequest req) {
    //获取指定请求头的信息
    System.out.println("HelloReq.getRequestHeader()" + req.getHeader("Connection"));
    System.out.println("HelloReq.getRequestHeader()" + req.getHeader("Host"));
   //获取所有的请求头信息
    Enumeration headerNames = req.getHeaderNames();
    while (headerNames.hasMoreElements()) {
       String headName = headerNames.nextElement();
       System.out.println(headName + ":" + req.getHeader(headName));
    }
 }

 
 private void getRequestLine(HttpServletRequest req) {
    //获取请求方式
    System.out.println("HelloReq.getRequestLine(请求方式)" + req.getMethod());
    //获取资源路径
    System.out.println("HelloReq.getRequestLine(服务器商资源的路径)" + req.getRequestURI());
    System.out.println("HelloReq.getRequestLine(在网络中资源的整体路径)" + req.getRequestURL());
    //获取Http版本号
    System.out.println("HelloReq.getRequestLine(版本号:协议)" + req.getProtocol() + ":" + req.getScheme());
    //获取项目名字
    System.out.println("HelloReq.getRequestLine(项目的名字)" + req.getContextPath());
 }

}

 

转载于:https://www.cnblogs.com/xushuyi/articles/4393254.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值