zl程序教程

您现在的位置是:首页 >  后端

当前栏目

JSP — request 内置对象

JSP对象 request 内置
2023-09-14 09:13:54 时间

一丶 request 对象

request 对象中保存了用户请求的数据,通过调用相关方法就可以实现请求数据的读取

二丶 request 对象获取数据的常用方法:

getParameter(String name)
返回指定名称参数的值,返回值类型为 String 类型,若无对应名称的参数,返回NULL。

getParameterValues(String name)
返回一组具有相同名称的参数值,返回类型为 String 类型的数组

setCharacterEncoding(“UTF-8”)
设置请求的编码方式

效果图:

在这里插入图片描述
在这里插入图片描述

index.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
  
 	 //	action 点击事件后跳转的链接,method 采用 get 请求方式
    <form action="loginSuccess.jsp" method="get">	
	用户名:<input type="text" name="username" value="">
	密    码:<input type="text" name="password" value="">
	<button type="submit">提交</button>
	</form>
    
  </body>
  
</html>

loginSuccess.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'loginSuccess.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    <%
	
		String username=request.getParameter("username");	//	读取用户名
		String password = request.getParameter("password");	//	读取密码并输出
		out.print("用户名:"+username+"</br>");
		out.print("密码:"+password+"</br>");
	
	%>
  </body>
</html>

三丶 中文乱码问题

【1】POST 请求

设置请求的编码方式:
request.setCharacterEncoding(“UTF-8”);
设置响应的编码方式:
request.setCharacterEncoding(“UTF-8”);

如果在 JSP 中已经对 page 指令中的 contentType 中的 charset 设置了编码方式为 UTF-8的化,则该句可以省略

【2】GET 请求

new String(s.getBytes(“ISO-8859-1”),“UTF-8”);