JSP内置对象-request笔记

JSP内置对象

JSP内置对象:是web容器创建的一组对象,不用new

四种作用域范围

out
request/response
session
application
其他(page、pageContext、exception、config)


请求与响应模式(request/response)

http请求/http响应
例如:登录响应
1. 点击登录->发送请求->封装用户名和密码
2. 接受请求,判断封装的内容,然后给客户端发送响应页面
login.jsp->doLogin.jsp->loginSuccess.jsp….

缓冲区Buffer:保存临时数据(第一次访问或者是已经访问过了)

表单的提交方式

method get/post
get -> 搜索/查询
post -> 注册/修改/上传

request

request对象用来封装客户端的请求
客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做到响应。它是HttpServletRequest类的实例
request对象具有请求域,即完成客户端的请求之前,该对象一直有效。

常用方法:
1. String getParameter(String name)//返回name指定参数的参数值
2. String [] getParameterValues(String name)//返回包含参数name的所有值的数组
3. void setAtrribute(String,Objet)//存储此请求中的属性
4. object getAttribute(String name)//返回指定属性的属性值
5. String getContentType()//得到请求体的MIME类型
6. String getProtocol()//返回请求用的协议类型及版本号
7. String getServerName()//返回接受请求的服务器主机名
8. int getServerPort()//返回服务器接受此请求所用的端口号
9. String getCharacterEncoding()//返回字符编码方式
10. void setCharacterEncoding()//设置请求的字符编码方式
11. int getContentLength()//返回请求体的长度(byte)
12. String getRemoteAddr()//返回发送此请求的客户端IP地址
13. String getRealPath(String path)//返回一虚拟路径的真实路径
14. String request.getContextPath()//返回上下文路径

getParameter(String name)

被请求页面可以使用request对象来获取信息,请求信息(parameter)

利用 getParameter(String name) 接收表单中的信息
<%=request.getParameter("username) "%>接收表单中name="username"的值

1. 解决中文乱码

request.setCharacterEncoding("UTF-8"); UTF-8->是传过来页面的编码

2. 利用URL传参数

<a href="request.jsp?username="lishi"">点击</a>
如何处理URL传参乱码
在Tomcat的文件夹中-> conf 文件夹 -> server.xml
在server.xml 中找到

<Connector port="8080" 
protocol="HTTP/1.1" 
connectionTimeout="20000" 
redirectPort="8443" />

然后在其中加入URIEncoding="UTF-8"就可以了。
注意要重启Tomcat服务器

setAtrribute(String,Objet)
<%
    request.setAtrribute("password","123456")
%>
<p>密码:<%=request.getAtrribute("password")%></p>
MIME类型

MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。

其他
<p>获得MIME类型:<%=request.getContentType() %></p>
<p>协议类型及版本号:<%=request.getProtocol() %></p>
<p>服务器的主机名:<%=request.getServerName() %></p>
<p>服务器的端口号:<%=request.getServerPort() %></p>
<p>获得请求文件的长度(字节):<%=request.getContentLength() %></p>
<p>请求客户端的IP地址:<%=request.getRemoteAddr() %></p>
<p>请求的物理路径:<%=request.getRealPath("doRegister.jsp") %></p>
<p>请求的上下文路径:<%=request.getContextPath() %></p>

学习及参考资料来源

  1. jsp教程: http://www.runoob.com/jsp/jsp-tutorial.html
  2. 慕课视频: http://www.imooc.com/learn/166
  3. 百度百科:
    http://baike.baidu.com/link?url=f7kk_AGUxxUygnkZS6pQLE3VIW8X2iK-_e-5-FEaMYAccZBXncmsXbmXlbQwOBw2YwXW5LqA0XPdYYC8npsEMa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值