servlet HTTP获取请求数据

  <body>
    This is my HTML page. <br>
        <h3>get </h3>
    <form  action="/day1/requestdemo2" method="GET">
        用户名:<input type"text" name="name"/><br/>
        密码:<input type="password" name="password"/><br/>
        <input type="submit" value="提交">

    </form>
    <h3>Post </h3>
    <form  action="/day1/requestdemo2" method="POST">
        用户名:<input type"text" name="name"/><br/>
        密码:<input type="password" name="password"/><br/>
        <input type="submit" value="提交">

    </form>
  </body>

不推荐的办法:

public class requestdemo2 extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

System.out.println("get:");
String value=request.getQueryString();
System.out.println(value);
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        System.out.println("post:");
InputStream in=  request.getInputStream();
byte[] buf=new byte[1024];
int len=0;
while((len=in.read())!=-1){
    String str= new String(buf,0,len);
    System.out.println(str);
}

    }

推荐方式:

doget(),dopost()通用,获取数据方式

    String name=    request.getParameter("name");
    String password=    request.getParameter("password");
        System.out.println(name+":"+password);

        System.out.println("================================================");
        Enumeration<String > enums=request.getParameterNames();
        while(enums.hasMoreElements()){
            String paraname=enums.nextElement();
            String paravalue=request.getParameter(paraname);
            System.out.println(paraname+"="+paravalue);
        }

传递的请求参数如何获取

GET方式: 参数放在URI后面

POST方式: 参数放在实体内容中

获取GET方式参数:

request.getQueryString();

获取POST方式参数:

request.getInputStream();

问题:但是以上两种不通用,而且获取到的参数还需要进一步地解析。

所以可以使用统一方便的获取参数的方式:

核心的API:

request.getParameter("参数名");  根据参数名获取参数值(注意,只能获取一个值的参数)

request.getParameterValue("参数名“);根据参数名获取参数值(可以获取多个值的参数)

request.getParameterNames();   获取所有参数名称列表

时间: 2024-08-01 20:38:30

servlet HTTP获取请求数据的相关文章

Flask04 后台获取请求数据、视图函数返回类型、前台接受响应数据

1 后台获取请求数据 1.1 提出问题 前台发送请求的方式有哪些 后台如何获取这些请求的参数 1.2 前台发送请求的方式 GET.POST.AJAX 点睛:如果不指定请求方式,浏览器默认使用GET请求 点睛:进入登录页面的请求和提交登录信息的请求使用的路径都是一样的,只不过前往登录页面的请求是GET请求,服务器返回的是一个静态的页面:当录入登录信息点击确定后就会向后台发送一个POST请求,后台经过逻辑处理后,如果登录信息正确就会返回一个静态主页面(注意:虽然这两个请求都是使用的一样的路径,但是我

Java Web -- Servlet(13)HttpServletRequest详解(获取请求数据、请求分派、请求域)(2)

                                    HttpServletRequest ---------------------------------------------------------------- (4)请求分派 Servlet API中定义了一个RequestDispatcher接口,俗称请求分派器. 它有两个方法 forward(ServletRequest request,ServletResponse response) include(Serv

Servlet如何获取请求参数

1.获取请求参数值的方法 获取提交的Name-Value数值 getParameter(name) 获取提交的Name-values数值 getParameterValues(name) 2.getParamter方法 常用于传入的参数中,一个名字对应一个值的形式 String request.getParameter(String paramName) 如果参数名写错,会产生null 3.getParamterValues方法 String[] request.getParamterValue

微信小程序获取请求数据

<%@ WebHandler Language="C#" Class="CodeTest" %> using System; using System.Web; using LitJson; public class CodeTest : IHttpHandler { public void ProcessRequest (HttpContext context) { context.Response.ContentType = "text/p

Servlet处理Json请求数据包

request.setCharacterEncoding('UTF-8'); response.setContentType('text/html;charset=UTF-8'); String acceptjson = ''; BufferedReader br = new BufferedReader(new InputStreamReader( (ServletInputStream) request.getInputStream(), 'utf-8')); StringBuffer sb

request获取请求头和请求数据

1 package cn.itcast.request; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.io.PrintWriter; 6 import java.lang.reflect.InvocationTargetException; 7 import java.util.Enumeration; 8 import java.util.Map; 9 10 import javax.s

servlet自动获取前端页面提交数据

servlet自动获取前端页面jsp提交数据 以下是本人在学习过程中,因前端页面提交参数过多,后台servlet封装实体类过于麻烦而写的一个工具类,应用于jsp/servlet数据提交后,基于MVC+MyBatis进行数据持久化的过程.这里只介绍页面到servlet(controller)提交数据封装对象的过程,MVC+MyBatis访问数据库不在这里介绍. 1.前端页面及代码 1)前端表单页面构建(用于测试简单构建的页面有点丑陋哦~) 2)前端jsp页面代码   这里使用了Ajax异步 get

servlet和http请求

1.servlet servlet是和平台无关的服务器组件,可以交互式的来浏览和修改数据,生成动态的web内容.它运行于 servlet容器中2.servlet容器 servlet容器负责servlet和客户的通信和调用servlet方法. servlet和客户通信采用“请求/相应”模式.3.创建servlet,及其工作原理 (1)创建一个HelloServlet.java类,实现Servlet接口,实现接口方法 init() service(); getServletConfig(); get

Http请求数据 与 发送数据

今天项目组小弟居然问我怎么用java访问特定的地址获取数据和发送请求 Http请求都是通过输入输出流来进行操作的,首先要制定GET或者POST,默认是GET,在安全和数据量较大情况下请使用post 根据url建立链接,读取输入输出流,从中取得相应的返回数据, http是无序的,在安全性极高的地方请使用https,但是https传输效率差不多只是http的1/10,所以除非特别必要,请谨慎选择 我将我以前写的微信开发代码贴一部分出来,这里就有根据地址获取请求数据和向某一个特定端口发送数据 pack