【每天学一点】JAVA Servlet相关

  今天去我姐家了,准备在这儿干点日子,下午看了点JS什么的,找工作的事就先缓缓了……


package cn.serlhttp;

import java.io.IOException;
import java.io.InputStream;
import java.net.URLDecoder;
import java.util.Enumeration;

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

/**
 * request.getMethod();
 * request.getRequestURI();
 * request.getRequestURL();
 * request.getProtocol();
 * 
 * request.getHeader("头名");
 *get: request.getQueryString();
 * post:request.getInputStream();
 * 
 * 
 * String s=request.getParameter("参数名")=value;
 * String[] s=requset.getParametetValue("参数名")=values;
 * 
 * Enumeration e=request.getParameterNames();
 * 
 */





/**
 * Servlet implementation class SHttp
 */
@WebServlet("/SHttp")
public class SHttp extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        /**
         * 从request对象中请求数据
         * 
         */
    //1.请求行
    //  getmethod(request);

    //2.请求头 request.getHeader("头名称")
    //  getheader(request);

    //4.1get方式得到实体内容 ---只是得到字符串,不好用
        //System.out.println(request.getQueryString());

        //4.1.1 获取请求参数
            //使用getParameter设置编码格式
            request.setCharacterEncoding("utf-8");
        String name=request.getParameter("name");

        String pwd=request.getParameter("pwd");

        // POST提交中文需要解码
        //String name=URLDecoder.decode(request.getParameter("name"),"UTF-8");
        //修改TOMCAT服务器 server.xml<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncodong="utf-8"/>


        System.out.println("name:"+name+",pwd:"+pwd);

        //Enumeration<String> enums=request.getParameterNames();

        //提交多值,多选框
        String[] parameterValues = request.getParameterValues("xx");


    }





    //post提交需要doPost
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //3.请求实体内容
        //getinputstream(req);


        //4.2 post方式得到提交内容
//      InputStream in=req.getInputStream();
//      byte[] buff=new byte[1024];
//      int len=0;
//      while((len=in.read(buff))!=-1){
//          System.out.println(new String(buff,0,len));
//      }


        //4.2.2
        //4.1.1 获取请求参数
//              String name=req.getParameter("name");
//              String pwd=req.getParameter("pwd");
//              System.out.println("name:"+name+",pwd:"+pwd);
                //只写一个地方,调回doGet
                this.doGet(req, resp);
                //Enumeration<String> enums=request.getParameterNames();

    }

    private void getheader(HttpServletRequest request) {
        System.out.println(request.getHeader("Host"));

        //2.1得到所有请求头列表 
        Enumeration<String> enums=request.getHeaderNames();
        while(enums.hasMoreElements()){
            System.out.println(enums.nextElement()+":"+request.getHeader(enums.nextElement()));
        }
    }

    private void getinputstream(HttpServletRequest req) throws IOException {
        InputStream ins=req.getInputStream();
        byte[] buff=new byte[1024];
        int len=0;
        while((len=ins.read(buff))!=-1){
            String s=new String(buff, 0, len);
            System.out.println(s);
        }
    }

    private void getmethod(HttpServletRequest request) {
        //请求方式 ,浏览器默认提交方式get方式
        System.out.println(request.getMethod());
        //URI
        System.out.println(request.getRequestURI());
        //url
        System.out.println(request.getRequestURL());
        //http 
        System.out.println(request.getProtocol());
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值