JSP数据交互(一)

本文详细介绍了JSP的内置对象,包括request对象用于处理请求数据和解决中文乱码问题,response对象的sendRedirect方法,以及转发与重定向的区别。重点讨论了session对象在权限控制中的应用,会话的创建、维持和失效,以及include指令在代码复用上的作用。
摘要由CSDN通过智能技术生成

什么是JSP内置对象

JSP内置对象,就是在编写JSP页面时,不需做任何声明就可以直接使用的对象。
例如如下代码:

int[] value={
   20,30,10,};
for(int i : value){
   
	out.print(i);
}

在这里插入图片描述

代码out.print()可以实现页面输出,因为out是JSP内置对象之一。该方法用于在页面中显示字符串信息。
所谓内置对象就是由Web容器加载的一组Servlet API的实例,这些实例由JSP规范进行了默认的初始化操作,可以世界在jSP中使用。需要注意,JSP的内置对象名称均是JSP保留字,不得当作自定义变量名使用。

内置对象request

1.request对象
request对象是最常用的JSP内置对象之一,其中包含了有关浏览器请求的信息:
在这里插入图片描述
可以在JSP页面中通过调用request对象的方法来获取请求中的相关数据及浏览器的相关信息,request对象用于处理请求的方法有很多:
在这里插入图片描述
示例:request方法使用:

  <%
		request.setCharacterEncoding("UTF-8");
		String name=request.getParameter("name");
		String pwd=request.getParameter("pwd");
		String[] channels=request.getParameterValues("channel");
	%>

代码说明:
(1)request的getparameter()方法是最为常用的,使用此方法可以获得请求中所提交的参数值。

(2)如果在页面中出现了多个复选框,复选框名称都是channels,则使用getParameterVlaues(“channel”)方法就可以获取一个字符串数组,该数组中存储的是所有选中的复选框对应的值。

(3)request对象的setCharacterEncoding()方法用于设置字符集,可以用来解决中文乱码的问题。在Web应用中,通常都包括了浏览器,Web服务器,Web应用程序和数据库等部分,每一部分都可能使用不同的字符集,从而导致字符数据在各种不同的字符集之间转换时,出现乱码问题。

中文乱码问题

以POST方法提交表单数据中有中文字符时
在这里插入图片描述
注意:页面和浏览器请求也应一致使用UTF-8编码,通过JSP页面设置page指令的contentType属性,指定页面内容和编码格式,语法如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

以GET方法提交表单数据中有中文时
当采用get犯法提交表单数据时,提交的数据作为查询字符串被附加到URL的末尾发送到服务器,对于这部分数据,在服务器端调用setCharacterEncoding()方法是不起作用的,我们需要得到请求参数值后,进行编码转换。
在这里插入图片描述
在Tomcat中设置字符集
当采用GET方法提交时,还可以配置Tomcat的字符集,配置方式:找到Tomcat目录结构\conf\server.xml文件,在Connector元素中添加URLEncoding属性,将它的值设为UTF-8.

如果在Tomcat中设置了字符集编码,对于浏览器以GET方式提交的数据无须在JSP页面中在进行编码处理。

内置对象response

JSP中包含了多个内置对象,各自有不同的功能,与request相应的是response对象,response对象可用于设置相应参数及取得响应等,
在这里插入图片描述
与request方法一样,response对象也提供了多个方法用于处理HTTP响应

方法名称 说明
void addCookie(Cookie cookie) 向客户端添加Cookie
void setContentType(String type) 设置HTTP响应的contenttype类型
void setCharacterEncoding(String charset) 设置响应所采用的字符编码类型
void sendRedirect(String location) 将请求重新定位到一个新的URL上

最常用的方法是void sendRedirect(String location)这个方法用于将请求重新定向到一个新的URL上。

示例:
登录页面代码login.jspr如下

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户登录</title>
</head>
<body>
	<form action="control.jsp" name="form1" method="post">
		用户名:<input type="text" name="userName">
		密码:<input type="password" name="pwd">
		<input type="submit" value="登录">
	</form>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值