JSP内置对象——request 及其响应get和post请求的实例
request对象
客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。request对象具有请求域,即完成客户端的请求之前,该对象一直有效。常用方法如下:
String getParameter(String name) 返回name制定参数的参数值
String[] getParameterValues(String name) 返回草含参数name的所有值的数组
void setAttribute(String,Object) 存储此请求中的属性。
object getAttribute(Stirng name) 返回iu指定属性的属性值
String getContentType() 得到请求体的MIME类型
String getProtocol() 返回请求用的协议类型及版本号
String getServerName() 返回接受请求的服务器主机名
request对象响应post请求
首先我们在reg.jsp中写一个表单用于提交包含用户名和爱好的表单:
<form name="regForm" action="request.jsp" method="post">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>爱好:</td>
<td>
<input type="checkbox" name="favorite" value="read">读书
<input type="checkbox" name="favorite" value="music">音乐
<input type="checkbox" name="favorite" value="movie">电影
<input type="checkbox" name="favorite" value="internet">上网
</td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="提交"></td>
</tr>
</table>
</form>
表单的目标页面是"request.jsp",我们可以新建一个request.jsp用于显示表单提交的信息。
为了避免中文乱码,我们统一使用utf-8格式编码,所以(特别是在输入——比如用户名——为中文的时候)我们需要为request设置一下编码,如下:
<%
request.setCharacterEncoding("utf-8");
%>
然后我们可以通过如下代码显示表单提交的信息:
用户名:<%=request.getParameter("username") %><br>
爱好:
<%
String[] favorites = request.getParameterValues("favorite");
for (String favorite : favorites)
out.println(favorite + " ");
%><br>
效果如下:

request对象同样可以响应get请求。
为了模拟这个过程,我们需要在reg.jsp页面中添加一段超链接的代码模拟以模拟一个get请求:
<a href="request.jsp?username=月光诗人&favorite=read&favorite=movie">get请求</a>
效果如下:

可能存在一些情况是get请求传参的时候出现了中文乱码(我这里没有出现),解决办法是:
打开tomcat目录下conf目录下的server.xml文件,找到如下内容:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
在Connector标签中加上属性URIEncoding="utf-8",如下:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="utf-8"/>
既可解决get请求中的中文乱码问题。
JSP内置对象——request 及其响应get和post请求的实例的更多相关文章
- JavaWeb——JSP内置对象request,response,重定向与转发 学习总结
什么是JSP内置对象 九大内置对象 requestJSP内置对象 request对象常用方法 request练习 responseJSP内置对象 response练习 response与request ...
- JSP内置对象-request
JSP内置对象即无需声明就可以直接使用的对象实例,在实际的开发过程中,比较常用的JSP对象有request,response,session,out和application等,笔者在本文章中将简单介绍 ...
- JSP内置对象---request对象(用户登录页面(返回值和数组:gerParameter,getParameterValues))
创建两个jsp页面:reg.jsp 和 request.jsp reg.jsp: <%@ page language="java" import="java.uti ...
- JSP内置对象---request 对象
request.jsp: <%@ page language="java" import="java.util.*" contentType=" ...
- JSP内置对象——request对象
request对象request对象封装了由客户端生成的HTTP请求的所有细节,主要包括HTTP头信息.系统信息.请求方式和请求参数等. 通过request对象提供的各种方法可以处理客户端浏览器提交的 ...
- JSP内置对象--request对象
本文主要介绍JSP中的request对象 request对象的主要方法: setAttribute(String name,Object):设置名字为name的request的参数值 getAttri ...
- JSP内置对象--request对象 (setCharacterEncoding("GBK"),getParameter(),getParameterValues(),getParameterNames(),getServletPath(),getContextPath()
使用最多,主要用来接收客户端发送而来的请求信息,他是javax.servlet.http.HttpServletRequest接口的实例化对象. public interface HttpServle ...
- jsp内置对象request 和response
1.request对象主要用于处理客户端的请求 request对象常用方法 一.String request.getParameter(String name) 根据页面表单 ...
- JSP内置对象---request对象(用户登录页面(setAttribute))
在上节 request.jsp 中 添加脚本语句: <% request.setAttribute("password", "123456"); %> ...
随机推荐
- laravel使用的模板引擎 blade
使用blade引擎的话必须在控制器中使用use Blade
- Linux命令-文件搜索命令:which
主要用途:查找linu命令,而不是磁盘上的普通文件,并且能看到命令的别名和目录. 区别whereis命令,which在path变量指定的目录中查找命令,并且返回第一个符合的结果.whereis是查找所 ...
- Oracle忘记密码找回
生活中,容易忘记Oracle数据库system用户的密码,怎么办呢,小生带你一步步重新登上Oracle ,及时你密码忘记了. 1.打开cmd窗口,输入 sqlplus / as sysdba 2.运行 ...
- Python3 casefold() 方法
描述 Python casefold() 方法是Python3.3版本之后引入的,其效果和 lower() 方法非常相似,都可以转换字符串中所有大写字符为小写. 两者的区别是:lower() 方法只对 ...
- django 常用命令 详解
check compilemessages createcachetable dbshell diffsettings dumpdata flush ...
- Java compiler level does not match the version of the installed Java project fac
Java compiler level does not match the version of the installed Java project fac 问题一: 问:项目图标报错,Probl ...
- Atitit。团队建设--管理最佳实践--如何留住核心人才,防止人才流失 ??
Atitit.团队建设--管理最佳实践--如何留住核心人才,防止人才流失 ?? 1. 1.人才流失后果 1 1. 1.员工的离职带走商业技术秘密和客户等资源 1 2. 2.影响在职员工的情绪,极大挫伤 ...
- IOS 获取设备屏幕的尺寸
// 不包含状态栏 CGRect rect1 = [UIScreen mainScreen].applicationFrame; // 包含状态栏(整个屏幕) CGRect rect2 = [[UIS ...
- locatin
//location对象 //初始url:http://www.wrox.com/WileyCDA: //将URL修改为:http://www.wrox.com/WileyCDA/#section1 ...
- java学习之局部变量以及全局变量
全局变量 什么是全局变量? 全局变量就好比一个容器或者一个公用的东西一样,就类似外面公共场所的凳子一样,大家都可以使用这个凳子. 和他相反的局部变量是啥子东东呢? 局部变量就是局部的东西,如果全局变量 ...