ServletRequest接口学习

jsp代码:

<%-- 
    Document   : index
    Created on : 2012-11-28, 10:05:18
    Author     : Administrator
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
        
        <script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
        <script type="text/javascript" src="js/servletRequest.js"></script>
    </head>
    <body>
        <input type="button" id="testGet" value="testGet" />
        <input type="button" id="testPut" value="testPut" />
        
    </body>
</html>

javascript代码:

$(function(){
    
    $("#testGet").click(function(){
        $.get("servletRequest.html",{
            name : "maoyuanjun",
            sex : "mail",
            tel : "123456"
        },function(data,state){
        });
    })
    
    $("#testPut").click(function(){
        $.post("servletRequest.html",{
        },function(data,state){
        });
    })
    
})

java代码:

package com.hongdian;

import java.io.BufferedReader;
import java.util.Enumeration;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Iterator;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import javax.servlet.ServletException;
import javax.servlet.ServletInputStream;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.tomcat.jni.Local;

/**
 *
 * @author yjmao
 * @描述 ServletRequest接口学习
 * @继承于 Object
 */
@WebServlet(name = "ServletRequest", urlPatterns = {"/servletRequest.html"})
public class ServletRequestLearn extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        //getAttribute(request); 
        //getAttributeNames(request);        
        //getCharacterEncoding(request); 
        //getContentLength(request); 
        //getContentType(request); 
        //getInputStream(request);
        //getLocalAddr(request); 
        //getLocale(request); 
        //getLocales(request); 
        //getLocalName(request); 
        //getLocalPort(request); 
        //getParameter(request); 
        //getParameterMap(request); 
        //getParameterNames(request); 
        //getParameterValues(request); 
        //getProtocol(request); 
        //getReader(request); 
        //getRemoteAddr(request);
        //getRemoteHost(request); 
        getRemotePort(request); 
        //getRequestDispatcher();通过给定路径包装一个RequestDispatcher对象返回。
        //getScheme(request);
        //getServerName(request); 
        //getServerPort(request); 
        //isSecure(request);
        //removeAttribute(request); 
        //setAttribute(request);
        //setCharacterEncoding(request);
        System.err.println("GET进来啦!");
    }

    /*
     * setAttribute(String name,Object o):在请求中存储一个属性值
     *  参数:name指定的参数值,o对应的name的value值
     */
    public static void setAttribute(HttpServletRequest request) {
        String getAttribute = (String) request.getAttribute("myj");
        System.err.println("getAttribute = " + getAttribute);
        request.setAttribute("myj", "maomao");
        String getSetAttribute = (String) request.getAttribute("myj");
        System.err.println("getSetAttribute = " + getSetAttribute);
    }

    /*
     * getParameterValues():获取一个参数的值,返回类型为Object类型的数组。
     */
    public static void getParameterValues(HttpServletRequest request) {
        String params[] = request.getParameterValues("name");
        for (int i = 0; i < params.length; i++) {
            System.err.println(params[i]);
        }
    }

    /*
     * getParameterNames():返回一个Enumeration,包含请求中所有参数。
     */
    public static void getParameterNames(HttpServletRequest request) {
        Enumeration enumParams = request.getParameterNames();
        while (enumParams.hasMoreElements()) {
            String obj = (String) enumParams.nextElement();
            String getParams = request.getParameter(obj);
            System.err.println(obj + " : " + getParams);
        }
    }

    /*
     * getParameterMap():返回请求中所有参数的形成的Map。
     */
    public static void getParameterMap(HttpServletRequest request) {
        Map<String, String[]> map = request.getParameterMap();
        Set<String> set = map.keySet();
        Iterator<String> iterator = set.iterator();
        while (iterator.hasNext()) {
            String str = iterator.next();
            String strArray[] = map.get(str);
            for (int i = 0; i < strArray.length; i++) {
                System.err.println(str + " : " + strArray[i]);
            }
        }
    }

    /*
     * getAttribute(String name):返回指定名称的属性值
     *  参数:name指定的参数值
     */
    public static void getAttribute(HttpServletRequest request) {
        Object getAttribute = request.getAttribute("name");
        System.err.println("getAttribute = " + getAttribute);
    }

    /*
     * getParameter(String name):返回指定参数值,如果参数不存在则返回null。
     *  参数:name指定的参数值
     */
    public static void getParameter(HttpServletRequest request) {
        String getParameter = request.getParameter("name");
        System.err.println("getParameter = " + getParameter);
    }

    /*
     * getCharacterEncoding():返回请求体中使用的字符编码。
     */
    public static void getCharacterEncoding(HttpServletRequest request) {
        String getCharacterEncoding = request.getCharacterEncoding();
        System.err.println("getCharacterEncoding = " + getCharacterEncoding);
    }

    /*
     * getContentLength(): 返回请求体和可用输入流的字节长度,返回-1标识长度未知。
     */
    public static void getContentLength(HttpServletRequest request) {
        int getContentLength = request.getContentLength();
        System.err.println("getContentLength = " + getContentLength);
    }

    /*
     * getContentType():返回请求数据体的MIME类型,如果类型未知,返回空值
     */
    public static void getContentType(HttpServletRequest request) {
        String getContentType = request.getContentType();
        System.err.println("getContentType = " + getContentType);
    }

    /*
     * getLocalAddr():返回发送请求的IP地址。(也就是客户端电脑的IP地址)
     */
    public static void getLocalAddr(HttpServletRequest request) {
        String getLocalAddr = request.getLocalAddr();
        System.err.println("getLocalAddr = " + getLocalAddr);
        //127.0.0.1
    }

    /*
     * getLocales():返回一个保存Locale对象的Enumeration对象,这些Locale对象都是客户端可接受的,并且Locale依据客户端的优先次序存储Enumeration。
     */
    public static void getLocales(HttpServletRequest request) {
        Enumeration<Locale> getLocale = request.getLocales();
        while (getLocale.hasMoreElements()) {
            Locale local = getLocale.nextElement();
            System.err.println("local = " + local.getCountry());
            //zh_CN
        }

    }
    /*
     * getLocalName():返回发送请求的主机名称。
     */

    public static void getLocalName(HttpServletRequest request) {
        String getLocalName = request.getLocalName();
        System.err.println("getLocalName = " + getLocalName);
        //如localhost
    }
    
    /*
     * getLocale():返回客户端的Local对象,包含基于接受语言的头。(说明:java.util.Locale 对象表示了特定的地理、政治和文化地区。)
     */
    public static void getLocale(HttpServletRequest request) {
        Locale getLocale = request.getLocale();
        System.err.println("getLocale = " + getLocale);
        //zh_CN
    }
    
    /*
     * getLocalPort():返回发送请求的主机IP端口号。
     */
    public static void getLocalPort(HttpServletRequest request) {
        int getLocalPort = request.getLocalPort();
        System.err.println("getLocalPort = " + getLocalPort);
        //如:8088
    }
    
    /*
     * getProtocol(): 返回请求使用的协议名称和版本。
     */
    public static void getProtocol(HttpServletRequest request) {
        String getProtocol = request.getProtocol();
        System.err.println("getProtocol = " + getProtocol);
        //如:HTTP/1.1
    }
    
    /*
     * getRemoteAddr():获取发送请求的客户端或者最后代理主机的IP地址。
     */
    public static void getRemoteAddr(HttpServletRequest request) {
        String getRemoteAddr = request.getRemoteAddr();
        System.err.println("getRemoteAddr = " + getRemoteAddr);
        //如127.0.0.1
    }
    
    /*
     * getRemoteHost():获取发送请求的客户端或者最后代理主机的名称。
     */
    public static void getRemoteHost(HttpServletRequest request) {
        String getRemoteHost = request.getRemoteHost();
        System.err.println("getRemoteHost = " + getRemoteHost);
        //如:127.0.0.1
    }

    /*
     * getRemotePort():获取发送请求的客户端或者最后代理主机上的端口。
     */
    public static void getRemotePort(HttpServletRequest request) {
        int getRemotePort = request.getRemotePort();
        System.err.println("getRemotePort = " + getRemotePort);
        //如3285,是会变得端口
    }

    /*
     * getScheme():返回产生请求的模式名称,例如,http, https, ftp.
     */
    public static void getScheme(HttpServletRequest request) {
        String getScheme = request.getScheme();
        System.err.println("getScheme = " + getScheme);
    }

    /*
     * getServerName():返回发送请求的主机名称。
     */
    public static void getServerName(HttpServletRequest request) {
        String getServerName = request.getServerName();
        System.err.println("getServerName = " + getServerName);
        //如localhost
    }

    /*
     * getServerPort():返回发送请求的主机端口。
     */
    public static void getServerPort(HttpServletRequest request) {
        int getServerPort = request.getServerPort();
        System.err.println("getServerPort = " + getServerPort);
        //如8088
    }

    /*
     * isSecure():返回是否使用安全通道。例如https。
     */
    public static void isSecure(HttpServletRequest request) {
        boolean isSecure = request.isSecure();
        System.err.println("isSecure = " + isSecure);
        //如false
    }

    /*
     * removeAttribute(String name):从请求中移除一个属性。
     */
    public static void removeAttribute(HttpServletRequest request) {
        System.err.println("移除前name的值 = " + request.getAttribute("name"));
        request.removeAttribute("name");
        System.err.println("移除后name的值 = " + request.getAttribute("name"));
    }

    /*
     * setCharacterEncoding(String name):重新设置请求体的字符编码。
     *  参数:name指定的参数值
     */
    public static void setCharacterEncoding(HttpServletRequest request) throws UnsupportedEncodingException {
        request.setCharacterEncoding("GBK");
    }

    /**
     * ************************不是很懂得************************************************
     */
    /*
     * getAttributeNames():返回一个Enumeration包含请求可用到的所有属性名称。
     */
    /*
     * getReader():获取请求体的BufferedReader对象表示。
     */
    public static void getReader(HttpServletRequest request) throws IOException {
        BufferedReader params = request.getReader();
        System.err.println(params);
    }

    /*
     * getInputStream():输入流用来从请求体读取二进制数据。
     */
    public static void getInputStream(HttpServletRequest request) throws IOException {
        ServletInputStream getInputStream = request.getInputStream();
        System.err.println("getInputStream = " + getInputStream);
    }

    public static void getAttributeNames(HttpServletRequest request) {
        Enumeration enumParames = request.getAttributeNames();
        System.err.println("enumParames = " + enumParames);
        while (enumParames.hasMoreElements()) {
            //String getAttributeNames = (String) enumParames.nextElement();
            //System.err.println("getAttributeNames = " + getAttributeNames);
            Object obj = enumParames.nextElement();
            System.err.println("obj = " + obj);
        }
    }
}





  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值