request对象
request对象主要用于接受客户端通过HTTP协议链接传输到服务器端的数据。
request的方法主要是处理客户端浏览器提交的请求中的各项参数和选项。
部分方法:
object getAttribute(String name) //返回name指定的属性值,若没有指定,返回null
Enumeration getAttibuteNames() //返回所有可用属性名的枚举
String getCharacterEncoding() //返回字符编码方式
Cookie[] getCOokie() //返回客户端的cookie对象,结果是一个Cookie数组
String getContentTyoe() //得到请求体的MIME类型
String[]getParameterValues(String name) //返回包含参数name的所有的数组
void setAttribute(String key,Object obj) //设置属性的属性值
getParameter() getParameterValues() getParameterNames()的区别
getParameter() 获取表单中单个name的value值;
getParameterValues() 获取表单中相同name的所有value值;
getParameterNames() 获取表单中所有name的所value值;
通过单选和多选给个示例:
在jsp文件中创建,有多选框和单选框的页面,再在par.jsp中显示;
<form action="par.jsp" method="post">
爱好:
<input type="checkbox" name="hobby" value="book">看书
<input type="checkbox" name="hobby" value="game">打游戏
<input type="checkbox" name="hobby" value="music">听歌
<input type="checkbox" name="hobby" value="ball">打球<br>
<input type="radio" name="sex" value="男" checked>男
<input type="radio" name="sex" value="女">女<br>
<select name="address">
<option value="北京">北京</option>
<option value="上海">上海</option>
<option value="广州">广州</option>
</select><br>
<input type="submit" value="提交">
</form>
par.jsp
<body>
<%
request.setCharacterEncoding("utf-8");
String hobby[]=request.getParameterValues("hobby");
if(hobby!=null){
for (int i=0;i<hobby.length;i++){
out.println(hobby[i]+"<br>");
}
}
String sex =request.getParameter("sex");
out.println(sex);
String address=request.getParameter("address");
out.println(address);
%>
<%=request.getMethod()%><br>
<%=request.getRemoteAddr()%>
<%=request.getLocale().getDisplayCountry()%>
</body>
展示下效果:
response
response主要作用是对客户端做出回应
主要方法有:
void addCookie(Cookie cookie) //添加一个Cookie对象,用来保存客户端用户信息
sendRedirect(java.lang.String location) //重新定向客户端的请求
sendError(int xc) //使用指定状态码向客户都安发送错误信息
sendError(int xc,String msg) //使用指定状态码和描述性信息向客户端发送错误信息
sendRedirect和超链接有点类似
session对象
在用户与服务器连接时,服务器会为每个用户创建一个session对象,用于保存每个用户的状态、
。部分方法:
void setAttribute(String name,Object value) //将value对象以name名称绑定到会话
object getAttribute(String name) //从会话session对象中获取name的属性值,如果属性不存在,返回null
void removeAttriute(String name) //从会话中删除name属性,如果不存在则不执行,也不会出现异常
void invalidate() //使会话失效,同时删除属性对象
Boolean isNew() //检测当前用户是否为新的会话
long getCreationTime() //返回在会话期间内web容器接受到客户组后发出的请求时间
session对象的Id
客户端首次访问web应用时,容器为其创建一个session对象,服务器会自动为其分配一个唯一的id号,来标识用户的唯一身份
application
当web服务器启动时,web服务器会为每一个web服务目录都创建一个application对象。application你对象相互对立了,和web服务目录对应。当客户在所访问的网站的各个页面之间浏览时,application对象是同一个,直到服务器关闭。
Object getAtttibute(String name) //返回有name指定的application对象属性的值
void setvttribute(String name,Object object) //设置属性,指定属性名称和属性值
void removeAttribute(String name) //根据属性名称删除对应的属性
String getInitParamter() //根据初始化参数名称,获取初始化参数值
page对象
page对象指当前jsp程序本身对象。
config对象
config对象是在servlet程序初始化时,jsp容器向它传递信息用的。
主要方法:
getServletContent() //返回一个含有服务器相关信息的ServletContent对象
g
etInitParameterNames() //可返回一个枚举对象,该对象由Servlet程序初始化所需的所有参数的名称构成
getInitParameter(String name) //返回servlet程序初始参数的值,参数名为name
pageContext对象
pageContext对象提供对jsp所有对象及命名空间的访问。,可以访问除自身外的8个内置对象。
HttpSession getsession() //返回session对象
Object getPage() //返回page对象
//类推
exception对象
exception对象时一个异常对象,当页面运行发生异常,就会产生这个对象。如果一个·jsp页面要产生此对象就要把isErrorPage改成true,否则无法编译;
主要方法:
String getMessage() //返回异常描述
String toString() //返回关于异常的简短描述信息
void printStackTrace() //显示异常及其栈轨迹
Throwable FillInStack() //重写异常的执行栈轨迹
示例:
创建一个错误页面
<%@ page contentType="text/html;charset=UTF-8" language="java" errorPage="error.jsp" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<% int result=5/0;%>
</body>
</html>
注意添加一个用来指定错误页面error.jsp
error.jsp代码
<%@ page contentType="text/html;charset=UTF-8" language="java" isErrorPage="true" %>
<html>
<head>
<title>Title</title>
</head>
<body>
异常信息:<%=exception.getMessage()%><br>
异常描述:<%=exception.toString()%>
</body>
</html>
注意:isErrorPAge设置为true
最后浏览器打开