1.jsp内置对象
jsp内置对象:就是在编写JSP页面时,不需要做任何声明就可以直接使用的对象。
例如:
<%
int[] value = {60,70,80};
for(int i:value){
out.print(i);
}
%>
2.JSP内置对象request
(1).request对象的常用方法
方法名称 | 说明 |
String getParameter(String name) | 根据页面表单组件名称获取页面提交数据 |
String[] getParameter Values(String name) | 获取一组以相同名称命名的表单组件提交数据 |
void setCharacterEncoding(String charset) | 指定每个请求的编码,在调用request.getParameter()方法之前进行设定,可以用于解决中文乱码问题 |
RequestDispatcher getRequestDispatcher(String path) | 返回一个 javax.servlet.RequestDiapatcher 对象,该对象的forward()方法用于转发请求 |
代码说明:request的getParameter()方法是最为常用的,使用此方法可以获得请求中所提交的参数值。
(2).在注册页面中,出现多个复选框,复选框的明称都是channel,在注册提交页面中使用getParameterValues("channel")方法就可以获取一个字符串数组,该数组中存储的是所有选中的复选框对应的值。如果没有选择任何选项,请求中不包含名为channel的参数,则该方法返回null。
(3).request对象的setCharacterEncoding()方法用于设置字符集,可以用来解决中文乱码的问题
3.response对象
response:实现用户响应
(1).response对象的常用方法
方法名称 | 说明 |
void addCookie(Cookie cookie) | 向客户端添加Cookie |
void setContentType(String type) | 设置HTTP响应的contentType类型 |
void setCharacterEncoding(String charset) | 设置响应所采用的字符编码类型 |
void sendRedirect(String location) | 将请求重新定位到一个新的URL上 |
(2).response内置对象工作原理
4.转发和重定向
相同点:都可以进行页面跳转
不同点:
转发request.getRequestDispatcher("路径").foward(request,response);可以携带请求参数,是一次请求,转发的动作是服务器行为,地址栏不会发生变化。
重定向response.sendRedirect("路径");可以理解为客户端发送了两次请求,第一次请求携带的数据丢失,地址栏会发生变化,是客户端的行为。若需要传递参数,需要显示在路径后拼接参数
如果需要在重定向的情况下将简单数据(值类型,字符串)传递至目标页面,可以使用查询字符串(Query String)实现,代码如下:
response.sendRedirect(“welcome.jsp?userName=”+name);