JSP学习笔记 - 内置对象 Request
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP学习笔记 - 内置对象 Request相关的知识,希望对你有一定的参考价值。
1.主要掌握以下5个内置对象及其所属类,必须学会在java docs里根据类名查找相应的方法
request javax.servlet.http.HttpServletRequest
response javax.servlet.http.HttpServletResponse
session javax.servlet.http.HttpSession
pageContext javax.servlet.jsp.PageContext
application javax.servlet.ServletContext
2.四大属性范围
page : 页面内属性有效
request: 服务器跳转有效
session: 一个会话(开一个网页,建立一次连接)有效,但再开网页无效
application: 全局有效,但重启tomcat服务,所有属性失效
3. 属性操作函数
void setAttribute(String AttrName, Object obj);
Object getAttribute(String AttrName);
void removeAttribute(String AttrName);
4.request 相关函数
Enumeration enu = request.getParameterNames(); 获取所有form提交的属性清单
循环
while(enu.hasMoreElements()){
String parameterName = enu.nextElements();
String parameterValue = request.getParameter(paramName);
}
解决中文乱码问题
request.setCharacterEncoding("GBK");
加上还是乱码,是什么情况? 提交表单的html有可能有问题,我当时的问题是 method="pos" 应该是 method="post"
怎样显示 checkbox的选项
a. 提交的form表单页,checkbox每项的name 应该加特殊标识**
<input type="checkbox" name="**goods" value="iphone8"> iphone8
<input type="checkbox" name="**goods" value="笔记本"> 笔记本
b. action处理jsp页中,进行区别判断
if(parameterName.starsWith("**"){
String parameterValue[] = request.getParameterValues(parameterName);
for(int x=0; x<parameterValue.length;x++) //此处应该是length属性,不是length()函数
{
<%=parameterValue[x]%>
}
}
5.通过request得到客户端一些有用的信息
request.getRemoteAddr();//获取客户端IP地址
request.getMethod();//获取客户端提交的方法 post ,get
request.getServletPath();//获取访问路径 /jdshop/buy.jsp
request.getContextPath();//获取上下文路径 /jspstudy 此路径是在 tomcat服务器配置中的server.xml中建的web发布路径
server.xml 中的配置如下:
....
<Context path="/jspstudy" docBase="E:\Java\jsp_study_web"/>
.....
以上是关于JSP学习笔记 - 内置对象 Request的主要内容,如果未能解决你的问题,请参考以下文章