客户端向服务器端发送一个请求时,通常情况下会包含一些请求参数。例如,请求删除数据库中的一条信息时,需要在请求中传递一个主键值,在传递的过程中其参数加载在request对象中。
当通过超链接的形式发送请求时,可以为该请求传递参数,可以通过在超链接的后面加上问好“?”来实现,注意这个问号为英语半角。例如,发送一个请求到delete.jsp页面并传递一个名为id的参数,可以通过以下超链接实现:
<a href ="delete.jsp?id=1">删除</a>
注意:在通过问号"?"指定请求参数时,参数值不需要使用单引号或双引号括起,包括字符型的参数。如果同时指定多个参数,各参数间使用与符号"&"分隔。
在delete.jsp页面中可以通过request对象的getParameter()方法获取传递的参数值,其代码如下:
<%String id=request.getParameter("id");
%>
执行了getParameter()方法后id值为1.
说明:在超链接中传递请求参数通过GET请求方式传递,如果通过POST请求方式传递参数,也使用getParameter()方法获取参数值。
实现用户注册功能:
index.jsp:
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>用户登录</title>
</head>
<body>
<%
//获取名户名
String username=request.getParameter("username");
//获取密码
String passward=request.getParameter("passward");
//判断用户与密码是否为“admin”
if("admin".equals(username)&&"admin".equals(passward))
{
out.print("<h3>恭喜,登陆成功!</h3>");
}
else
{
out.print("<h3>对不起,登录失败!</h3>");
}
%>
</body>
</html>
login.jsp:
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>用户登录</title>
</head>
<body>
<%
//获取名户名
String username=request.getParameter("username");
//获取密码
String passward=request.getParameter("passward");
//判断用户与密码是否为“admin”
if("admin".equals(username)&&"admin".equals(passward))
{
out.print("<h3>恭喜,登陆成功!</h3>");
}
else
{
out.print("<h3>对不起,登录失败!</h3>");
}
%>
</body>
</html>