jsp中request的常见使用方法

合集下载

详解JSP内置对象request常见用法

详解JSP内置对象request常见用法

详解JSP内置对象request常见⽤法request 对象是 HttpServletRequestWrapper 类的实例。

它的继承体系如下:_request 对象继承层次结构图.pngServletRequest 接⼝的唯⼀⼦接⼝是 HttpServletRequest ,HttpServletRequest 接⼝的唯⼀实现类HttpServletRequestWrapper ,单从 request 对象⼀脉单传的类继承体系可以看出,javaweb 标准类库只⽀持了 http 协议。

Servlet/JSP 中⼤量使⽤了接⼝⽽不是实现类,这恰恰就是⾯向接⼝编程的最佳应⽤啊。

request 内置对象是由 Tomcat 创建的,可以⽤来封装 HTTP 请求参数信息、进⾏属性值的传递以及完成服务端跳转,这就是request 对象最重要的三个功能了。

request 对象的创建流程⼀旦 http 请求报⽂发送到 Tomcat 中, Tomcat 对数据进⾏解析,就会⽴即创建 request 对象,并对参数赋值,然后将其传递给对应的 jsp/servlet 。

⼀旦请求结束,request 对象就会⽴即被销毁。

服务端跳转,因为仍然是同⼀次请求,所以这些页⾯会共享⼀个 request 对象。

1、访问请求参数<a href="login.jsp?name=张三&sex=man&id=" rel="external nofollow" >传递参数</a>login.jsp关键代码<%= "name:"+new String(request.getParameter("name").getBytes("ISO-8859-1"),"utf-8") %><br><%= "sex:"+request.getParameter("sex") %><br><%= "id:"+request.getParameter("id") %><br><%= "pwd:"+request.getParameter("pwd") %><br>说明:如果指定的参数不存在,将返回null;如果指定了参数名,但未指定参数值,将返回空的字符串"。

jsp中的request.setAttribute的使用

jsp中的request.setAttribute的使用

jsp中的request.setAttribute的使⽤1.第⼀个jsp页⾯<form id="form1" method="post" action="first.jsp"><input type="text" name="balance"> <input type="submit"value="提交"></form>2.第⼆个jsp页⾯,根据第⼀个页⾯提交的balance的值,如果是⼩⾬500,则在第⼀个页⾯处理,否则转发给第⼆个页⾯,其中使⽤setAttribute设置参数<body><%String bal = request.getParameter("balance");double piaozi = Double.parseDouble(bal);if (piaozi < 500) {out.println("给你" + piaozi + "元");out.println("剑豪" +piaozi + "元");} else {List<String> info = new ArrayList<String>();info.add("1111");info.add("2222");info.add("3333");request.setAttribute("info", info);%><jsp:forward page="second.jsp" /><%}%></body>3.第三次页⾯,使⽤request.getAttribute获取属性<body><%String bal = request.getParameter("balance");double piaozi = Double.parseDouble(bal);if (piaozi < 500) {out.println("给你" + piaozi + "元");out.println("剑豪" +piaozi + "元");} else {List<String> info = new ArrayList<String>();info.add("1111");info.add("2222");info.add("3333");request.setAttribute("info", info); %><jsp:forward page="second.jsp" /> <%}%></body>4. 在⼀个页⾯输⼊600结果如下111122223333给您600.0元减少600.0元。

request对象使用

request对象使用

request对象使用1.引言1.1 概述概述部分的内容可以从以下几个方面进行展开:- 引入request对象:在现代的Web应用程序开发中,request对象被广泛应用,它是作为客户端向服务器发送请求的主要方式之一。

通过request对象,可以获取客户端的请求信息,从而进行相应的处理和响应。

- 作用:request对象在Web开发中起到了承载请求数据和参数的重要作用。

它可以让我们很方便地获取到请求中的各种参数,比如URL中的查询参数、请求头中的信息、请求体中的数据等,从而能够更好地处理用户的请求。

- 对request对象的深入研究:在本文中,我们将深入研究request 对象的属性和方法,以帮助读者更好地理解和使用这个对象。

我们将介绍request对象的常见属性,比如URL、method、headers等等,以及它的常用方法,如getParameter()、getHeader()等,以及如何正确地使用这些方法来处理用户的请求。

- 重要性:了解和正确使用request对象对于Web应用程序的开发非常重要。

通过充分了解request对象的定义和作用,以及掌握它的属性和方法,我们可以更好地处理和响应用户的请求,从而提升用户体验,并提高应用程序的性能和安全性。

总之,本文将着重介绍request对象的使用,帮助读者全面了解和掌握这个在Web应用程序开发中十分重要的对象。

深入研究request对象的属性和方法,并提供一些实际的使用案例和技巧,以帮助读者正确地使用request对象,并充分发挥其作用。

接下来,我们将详细介绍request 对象的定义和作用。

1.2文章结构文章结构部分内容1.2 文章结构本文将围绕request对象展开讨论,介绍其定义、作用以及相关的属性和方法。

文章分为三个主要部分进行阐述。

在引言部分,我们将概述整篇文章的内容,并介绍文章的目的。

通过引言,读者可以获得对request对象的整体认识和本文的主要内容概览。

java request 的使用方法

java request 的使用方法

java request 的使用方法Java的request对象是用于处理HTTP请求的重要组件之一。

在Web开发中,我们经常需要获取用户提交的表单数据、请求参数等,并进行相应的处理。

request对象封装了HTTP请求的相关信息,提供了一系列方法用于获取请求参数、操作请求头部和Cookie等。

本文将介绍Java中request对象的使用方法,并逐步讲解相关知识点。

一、什么是request对象request对象是javax.servlet.http.HttpServletRequest类的实例,代表了一个HTTP请求。

在Servlet或JSP中,我们可以通过HttpServletRequest类的实例来访问请求的信息。

request对象封装了请求的URL、请求头部、请求方法、请求参数等,并提供了相应的方法来获取这些信息。

二、获取请求参数1. 获取GET请求中的参数在GET请求中,参数通常包含在URL的查询字符串中。

我们可以通过HttpServletRequest类的getQueryString()方法来获取查询字符串,再通过解析字符串得到参数值。

例如,我们有一个URL:java获取查询字符串String queryString = request.getQueryString();解析查询字符串String[] paramPairs = queryString.split("&");Map<String, String> params = new HashMap<>();for (String paramPair : paramPairs) {String[] pair = paramPair.split("=");String paramName = pair[0];String paramValue = pair[1];params.put(paramName, paramValue);}获取参数值String id = params.get("id");String name = params.get("name");2. 获取POST请求中的参数在POST请求中,参数通常包含在请求体中。

Jsp实验报告 request和response的使用

Jsp实验报告 request和response的使用
(3)掌握使用response对象通过sendRedirect()方法重定向到其他页面。
(1)
实验内容:
1.编写一个JSP页面inputNumber.jsp,该页面提供一个表单,用户通过表单输入两个整数,及四则运算符号提交到本页面。根据选择的运算符计算出结果,页面效果如下:
2.设计并实现一个用户登录的过程,其中login.jsp页面用于用户输入相应的用户名和密码进行登录,checklogin.jsp用于检查用户名和密码是否正确,如果用户输入用户名wangyu,密码123456后,单击【提交】按钮,成功登录后转向success.jsp页面,否则,在checklogin.jsp页面给出错误提示“400错误”运行结果如下:
<optionvalue="*">*
<optionvalue="/">/
</select>
<inputtype="text"name="sideB"><br>
<inputtype="submit"value="提交你的选择"name="submit">
</FORM>
<%
String sa=request.getParameter("sideA");
如果数字<100,response对象调用setContentType(String s)方法将MIME类型设置为application/msword,同时输出该数字的平方;
如果数字>=100,response对象调用setStatus(int n)方法将状态行的内容设置为404;

Request常用方法(总结)

Request常用方法(总结)

Request常⽤⽅法(总结)⼀、HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的⽅法,可以获得客户端请求的所有信息。

⼆、Request常⽤⽅法2.1、获得客户机信息 getRequestURL⽅法返回客户端发出请求时的完整URL。

getRequestURI⽅法返回请求⾏中的资源名部分。

getQueryString ⽅法返回请求⾏中的参数部分。

getPathInfo⽅法返回请求URL中的额外路径信息。

额外路径信息是请求URL中的位于Servlet的路径之后和查询参数之前的内容,它以“/”开头。

getRemoteAddr⽅法返回发出请求的客户机的IP地址。

getRemoteHost⽅法返回发出请求的客户机的完整主机名。

getRemotePort⽅法返回客户机所使⽤的⽹络端⼝号。

getLocalAddr⽅法返回WEB服务器的IP地址。

getLocalName⽅法返回WEB服务器的主机名。

2.2、获得客户机请求头 getHeader(string name)⽅法:String getHeaders(String name)⽅法:Enumeration getHeaderNames()⽅法2.3、获得客户机请求参数(客户端提交的数据)getParameter(String)⽅法(常⽤)getParameterValues(String name)⽅法(常⽤)getParameterNames()⽅法(不常⽤)getParameterMap()⽅法(编写框架时常⽤)3.6、提交中⽂数据乱码问题总结 1、如果提交⽅式为post,想不乱码,只需要在服务器端设置request对象的编码即可,客户端以哪种编码提交的,服务器端的request对象就以对应的编码接收,⽐如客户端是以UTF-8编码提交的,那么服务器端request对象就以UTF-8编码接收(request.setCharacterEncoding(“UTF-8”)) 2、如果提交⽅式为get,设置request对象的编码是⽆效的,request对象还是以默认的ISO8859-1编码接收数据,因此要想不乱码,只能在接收到数据后再⼿⼯转换,步骤如下: 1).获取获取客户端提交上来的数据,得到的是乱码字符串,data=”è??” String data = request.getParameter(“paramName”); 2).查找ISO8859-1码表,得到客户机提交的原始数据的字节数组 byte[] source = data.getBytes(“ISO8859-1”); 3).通过字节数组以指定的编码构建字符串,解决乱码 data = new String(source, “UTF-8”); 通过字节数组以指定的编码构建字符串,这⾥指定的编码是根据客户端那边提交数据时使⽤的字符编码来定的,如果是GB2312,那么就设置成data = new String(source, “GB2312”),如果是UTF-8,那么就设置成data = new String(source, “UTF-8”)四、Request对象实现请求转发4.1、请求转发的基本概念 请求转发:指⼀个web资源收到客户端请求后,通知服务器去调⽤另外⼀个web资源进⾏处理。

request.js用法

request.js用法Request.js 是一个在浏览器中发送和接收HTTP 请求的JavaScript 库。

它提供了简洁灵活的API,使得发送HTTP 请求变得更加方便和易于管理。

本文将一步一步介绍Request.js 的用法,并说明其各个功能和方法的使用。

第一步:下载和引入Request.js要使用Request.js,首先需要下载和引入这个库。

你可以通过直接下载源码文件或者使用npm 进行安装。

完成下载后,将Request.js 添加到你的项目中,可以通过script 标签引入文件,或者使用模块加载器进行引入。

接下来,我们需要创建一个新的Request 对象来发送HTTP 请求。

可以使用下述代码来进行初始化:javascriptconst request = new Request();第二步:设置请求方法和URLRequest.js 提供了多种发送HTTP 请求的方法,其中包括GET、POST、PUT、DELETE 等。

我们需要使用合适的方法来指定请求类型。

例如,下面的代码演示了使用GET 方法发送一个请求:javascriptrequest.get(url);其中,url 是你要发送请求的目标URL。

第三步:设置请求头和数据使用Request.js,我们可以轻松设置请求头和发送数据。

你可以使用setHeader() 方法设置请求头,该方法接受两个参数:头名称和头值。

下面的代码示例演示了设置请求头的方法:javascriptrequest.setHeader('Content-Type', 'application/json');此外,如果你需要发送数据,可以使用send() 方法。

该方法接受一个可选的数据参数,用于发送请求的主体数据。

例如,下面的代码演示了如何发送一个POST 请求,并附带JSON 格式的数据:javascriptrequest.post(url).send({ name: 'Tom', age: 25 });第四步:处理请求响应Request.js 提供了多种处理响应的方法,包括成功处理和错误处理。

Request中的各种方法

Request中的各种⽅法前⾔Request中⽅法众多,对于Java Web程序员来说,种种⽅法都会在⼯作中常常⽤到。

Request由于不是JDK的⼀部分,这些⽅法的⽤法也没有专门的API可以查,所以在⼯作中遇到Request中⽅法的时候,所以常常感到困惑,因为觉得⽹上写的不清楚,⾃⼰⼜懒得写⼀个Web测试程序。

这篇⽂章,⼀次性把Request中的各个⽅法的返回写在这⾥并做⼀个详细的总结,以备以后⼯作中⽤到可以随时查看。

⽰例为了让后台可以取到queryString(这个专门在get和post的区别的⽂章中会讲解的),做⼀个表单,⽤post⽅式提交:<body><form action="request?a=1&b=2&c=3" method="post"><input type="submit" value=" 提交 " /></form></body>web.xml就不写了,⼤家应该都会配置,看下后台doPost⽅法的写法:protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{System.out.println("request.getAuthType():" + request.getAuthType()); // 获取保护servlet的认证⽅案名(BASIC或SSL),未受保护的servlet返回的就是nullSystem.out.println("request.getCharacterEncoding():" + request.getCharacterEncoding()); // 获取字符编码System.out.println("request.getContentLength():" + request.getContentLength()); // 返回请求体内容的长度System.out.println("request.getContentType():" + request.getContentType()); // 获取内容类型System.out.println("request.getContextPath():" + request.getContextPath()); // 获取上下⽂路径,就是"/"+⼯程名System.out.println("request.getLocalAddr():" + request.getLocalAddr()); // 获取应⽤服务器的IP地址System.out.println("request.getLocalName():" + request.getLocalName()); // 获取应⽤服务器的主机名System.out.println("request.getLocalPort():" + request.getLocalPort()); // 获取应⽤服务器的端⼝号System.out.println("request.getMethod():" + request.getMethod()); // 获取请求⽅式获取请求⽅式(GET与POST为主,也会有PUT、DELETE、INPUT)System.out.println("request.getPathInfo():" + request.getPathInfo());System.out.println("request.getPathTranslated():" + request.getPathTranslated());System.out.println("request.getProtocol():" + request.getProtocol()); // 获取客户端向服务端传送数据使⽤的协议名称System.out.println("request.getQueryString():" + request.getQueryString()); // 获取追加到Url后⾯的查询字符串System.out.println("request.getRemoteAddr():" + request.getRemoteAddr()); // 获取发出请求的客户端的IP地址System.out.println("request.getRemoteHost():" + request.getRemoteHost()); // 获取发出请求的客户端的主机名System.out.println("request.getRemotePort():" + request.getRemotePort()); // 获取发出请求的客户端的端⼝号System.out.println("request.getRemoteUser():" + request.getRemoteUser()); // 如果⽤户已经过认证,则返回发出请求的⽤户登录信息System.out.println("request.getRequestedSessionId():" + request.getRequestedSessionId()); // 获取sessionIdSystem.out.println("request.getRequestURI():" + request.getRequestURI()); // 获取"/"+⼯程名+请求路径System.out.println("request.getRequestURL():" + request.getRequestURL()); // 获取完整的请求地址,不带queryStringSystem.out.println("request.getScheme():" + request.getScheme()); // 获取当前链接使⽤的协议,⼀般应⽤就是http,SSL返回httpsSystem.out.println("request.getServerName():" + request.getServerName()); // 获取URL请求的名字(以Ip请求就是Ip,以域名请求就是域名)System.out.println("request.getServerPort():" + request.getServerPort()); // 获取URL请求的端⼝号System.out.println("request.getServletPath():" + request.getServletPath()); // 获取请求路径System.out.println("request.isSecure():" + request.isSecure()); // 获取此请求是否使⽤安全协议(⽐如https)}我从本地发起⼀个请求"http://localhost:8080/TestWeb/request?a=1&b=2&c=3",先看下⽤⼯具抓取的此次请求、响应的数据(⽕狐、360、⾕歌都有,按F12即可):再看⼀下后台的运⾏结果:request.getAuthType():nullrequest.getCharacterEncoding():nullrequest.getContentLength():0request.getContentType():application/x-www-form-urlencodedrequest.getContextPath():/TestWebrequest.getLocalAddr():127.0.0.1request.getLocalName():dellrequest.getLocalPort():8080request.getMethod():POSTrequest.getPathInfo():nullrequest.getPathTranslated():nullrequest.getProtocol():HTTP/1.1request.getQueryString():a=1&b=2&c=3request.getRemoteAddr():127.0.0.1request.getRemoteHost():127.0.0.1request.getRemotePort():3405request.getRemoteUser():nullrequest.getRequestedSessionId():B198D2D352F2F23A1B3754246D68B803request.getRequestURI():/TestWeb/requestrequest.getRequestURL():http://localhost:8080/TestWeb/requestrequest.getScheme():httprequest.getServerName():localhostrequest.getServerPort():8080request.getServletPath():/requestrequest.isSecure():falsegetParameter、getAttribute/setAttribute、getSession/setSession等类似⽅法,⼤家都⽐较熟悉,也⽐较不会搞错,就不列了,列的都是⼀些相对不常⽤的request⽅法。

js中request用法

js中request用法在JavaScript中,`request` 通常与HTTP请求相关。

然而,`request` 并不是JavaScript的内置函数或方法。

它可能是某个库或框架的一部分,或者是某个特定代码库中自定义的函数。

例如,在中,`request` 通常与 `request` 库一起使用,这是一个用于发送HTTP请求的流行库。

下面是一个使用 `request` 库发送GET请求的简单示例:```javascriptconst request = require('request');request(' (error, response, body) => {if (error) {(error);} else {(body);}});```在这个例子中,我们使用 `require` 语句导入 `request` 库,然后使用`request` 函数发送一个GET请求到指定的URL。

回调函数接收三个参数:错误(如果有的话)、响应对象和响应主体。

如果你是在谈论浏览器中的JavaScript,那么通常会使用 `fetch` API来发送HTTP请求,而不是 `request`。

下面是一个使用 `fetch` 发送GET请求的示例:```javascriptfetch('.then(response => ()).then(data => (data)).catch(error => (error));```在这个例子中,我们使用 `fetch` 方法发送一个GET请求到指定的URL。

然后我们使用 `then` 方法处理响应,将响应主体解析为JSON,并在控制台中打印数据。

如果发生错误,我们使用 `catch` 方法捕获并打印错误。

request用法

request⽤法1.获取设备信息request.getRequestURL(): 浏览器发出请求时的完整URL,包括协议主机名端⼝(如果有)" +request.getRequestURI(): 浏览器发出请求的资源名部分,去掉了协议和主机名" +request.getQueryString(): 请求⾏中的参数部分,只能显⽰以get⽅式发出的参数,post⽅式的看不到request.getRemoteAddr(): 浏览器所处于的客户机的IP地址request.getRemoteHost(): 浏览器所处于的客户机的主机名request.getRemotePort(): 浏览器所处于的客户机使⽤的⽹络端⼝request.getLocalAddr(): 服务器的IP地址request.getLocalName(): 服务器的主机名request.getMethod(): 得到客户机请求⽅式⼀般是GET或者POST2.获取参数request.getParameter(): 是常见的⽅法,⽤于获取单值的参数request.getParameterValues(): ⽤于获取具有多值得参数,⽐如注册的时候提交的爱好,可以使多选的。

request.getParameterMap(): ⽤于遍历所有的参数,并返回Map类型。

1 Map<String, String[]> parameters = request.getParameterMap();2 //request.getParameterMap的读取3 Set<String> paramNames = parameters.keySet();4for (String param : paramNames) {5 String[] value = parameters.get(param);6 System.out.println(param + ":" + Arrays.asList(value));7 }3.获取浏览器传来的头信息request.getHeader() 获取浏览器传递过来的头信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

HttpServletRequestHttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP 请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获得客户这些信息request常用方法l获得客户机信息•getRequestURL方法返回客户端发出请求时的完整URL。

•getRequestURI方法返回请求行中的资源名部分。

•getQueryString 方法返回请求行中的参数部分。

•getRemoteAddr方法返回发出请求的客户机的IP地址•getRemoteHost方法返回发出请求的客户机的完整主机名•getRemotePort方法返回客户机所使用的网络端口号•getLocalAddr方法返回WEB服务器的IP地址。

•getLocalName方法返回WEB服务器的主机名•getMethod得到客户机请求方式URL和URI的关系:URI是URL的父类,URI描述资源,URL描述互联网的资源String url = request.getRequestURL().toString();System.out.println(url);System.out.println(request.getRequestURI());System.out.println(request.getQueryString()); System.out.println(request.getRemoteAddr()); System.out.println(request.getRemoteHost()); System.out.println(request.getRemotePort()); System.out.println(request.getMethod());Request常用方法l获得客户机请求头•getHead(name)方法•getHeaders(String name)方法•getHeaderNames方法l获得客户机请求参数(客户端提交的数据) •getParameter(name)方法•getParameterValues(String name)方法•getParameterNames方法•getParameterMap方法 //•getInputStream获取客户机带过来的数据String username = request.getParameter("username"); System.out.println(username);System.out.println("----------------------");Enumeration e = request.getParameterNames();while(e.hasMoreElements()){String name =(String) e.nextElement();String value = request.getParameter(name);System.out.println(name + "=" + value);}System.out.println("----------------------");String values[] =request.getParameterValues("username");for(int i=0;values!=null &&i<values.length;i++){System.out.println(values[i]);}System.out.println("----------------------");//http://localhost:8080/day05/servlet/RequestDemo3?username=aaa&username=bbb&p assword=123Map<String,String[]>map = request.getParameterMap();Set<Map.Entry<String,String[]>> set = map.entrySet();for(Map.Entry<String,String[]> entry : set){username =entry.getKey();values =entry.getValue();for(int i=0;values!=null &&i<values.length;i++){System.out.println(username +"=" + values[i]);}}request常见应用1l防盗链String referer =request.getHeader("referer");if(referer==null ||!referer.startsWith("http://localhost")){response.sendRedirect("/day05/index.html");return;}String data = "凤姐日记";response.setCharacterEncoding("UTF-8");response.setHeader("content-type", "text/html;charset=UTF-8"); response.getWriter().write(data);l各种表单输入项数据的获取•text、password、radio、checkbox、•file、select、textarea、 hidden、•image、button给js编程用package cn.itcast.request;import java.io.IOException;import java.util.Arrays;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;//获取不同类型表单的数据(获取客户机表单提交的数据)public class RequestDemo5 extends HttpServlet {publicvoid doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {System.out.println(request.getParameter("username"));System.out.println(request.getParameter("password"));System.out.println(request.getParameter("gender"));System.out.println(Arrays.asList(request.getParameterValues("like")==null?newString[]{ }:request.getParameterValues("like")));System.out.println(request.getParameter("city"));System.out.println(request.getParameter("resume"));System.out.println(request.getParameter("xx"));String username =request.getParameter("username"); //"" nullif(username==null ||username.trim().equals("")){System.out.println("您没有提交数据");}request.getParameter("gender"); //nullrequest.getParameterValues("like");//null}publicvoid doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}}form表单:<!DOCTYPE HTML PUBLIC "-//W3C//DTDHTML 4.01 Transitional//EN"> <html><head><title>form.html</title><meta http-equiv="keywords"content="keyword1,keyword2,keyword3"> <meta http-equiv="description"content="this is my page"><meta http-equiv="content-type"content="text/html; charset=UTF-8"> <!--<link rel="stylesheet"type="text/css" href="./styles.css">--></head><body><form action="/day05/servlet/RequestDemo5"method="post"> 用户名:<input type="text"name="username"><br/>密码:<input type="password"name="password"><br/>性别:<input type="radio"name="gender" value="male">男<input type="radio"name="gender" value="female">女<br/>爱好:<input type="checkbox"name="like" value="basketball">蓝球<input type="checkbox"name="like" value="football">足球<input type="checkbox"name="like" value="java">java<input type="checkbox"name="like" value=".net">.net<br/>所在地:<select name="city"><option value="bj">北京</option><option value="sh">上海</option><option value="cs">长沙</option></select><br/>简历:<textarea rows="5"cols="60" name="resume"></textarea><br/> 大头照:<input type="file" name="image"><br/><input type="hidden"name="xx" value="yyy"><input type="submit" value="提交"></form><form action="/day05/servlet/RequestDemo6"method="get">用户名:<input type="text"name="username"><br/><input type="submit" value="提交"></form><form action="/day05/servlet/RequestDemo7"method="post">用户名:<input type="text"name="username"><br/><input type="submit" value="提交"></form><!-- 超链接后面带中文数据一定要经过url编码 --><a href="/day05/servlet/RequestDemo8?name=方立勋">点点</a></body></html>如果都没有添或选择,输入项默认为空串“”,选择项为NUll所以最好用这种方式进行比较判断:if(username==null ||username.trim().equals("")){l请求参数的中文乱码问题importjava.io.IOException;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;//request的乱码问题:get\postpublic classRequestDemo6 extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponseresponse) throwsServletException, IOException {//以下代码可以解决post提交的乱码request.setCharacterEncoding("UTF-8"); //只对post方式有效//String username1 =request.getParameter("username");//System.out.println(username1);//以下代码可能解决get提交的乱码String username2 =request.getParameter("username");//username2 = newString(username2.getBytes("iso8859-1"),"UTF-8");System.out.println(username2);}public void doPost(HttpServletRequest request,HttpServletResponse response) throwsServletException, IOException {doGet(request,response);}}importjava.io.IOException;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;//思考题 :下面程序有乱码吗????public classRequestDemo7 extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponseresponse) throwsServletException, IOException {request.setCharacterEncoding("UTF-8");String username = request.getParameter("username"); //方立response.setCharacterEncoding("gb2312");response.setContentType("text/html;charset=gb2312");response.getWriter().write(username);}public void doPost(HttpServletRequest request,HttpServletResponse response)throwsServletException, IOException {doGet(request,response);}}l URL地址的编码import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet; importjavax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;//超链接提交中文数据在服务器端获取的代码/** <!-- 超链接后面带中文数据一定要经过url编码 --><a href="/day05/servlet/RequestDemo8?name=方立勋">点点</a>**/public class RequestDemo8 extendsHttpServlet {publicvoid doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {Stringname = request.getParameter("name");name= new String(name.getBytes("iso8859-1"),"UTF-8");System.out.println(name);}publicvoid doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}}request常见应用2lrequest对象实现请求转发:请求转发指一个web资源收到客户端请求后,通知服务器去调用另外一个web资源进行处理。

相关文档
最新文档