JSP九大内置对象有 request,out,response,application,session,pageContext,page,confid,exception
下面我写一个关于request经典案例
1.request
1.1 getParameter("name"):String 获取提交过来的数据(表单,url地址中)
1.2 getParameterValues("name"):String[] 一批同名的value值的集合
1.3 setCharactorEncoding("utf-8"); post
1.4 getAttrubute("key"):Object 获取指定的key对应的value
1.5 setAttribute("key","value");
1.6 getRequestDispatcher("目标地址").forward(request,response);
1.7 获取远程计算机的ip getRemoteAddr();
register.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>注册页面</title>
</head>
<body>
<form action="do.jsp" method="post">
用户名:<input type="text" name="txtname" value="<%=request.getAttribute("name")%>"/>
密码: <input type="password" name="txtpwd"/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
do.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>处理页面</title>
</head>
<body>
<%
//解决乱码
request.setCharacterEncoding("utf-8");
// 1.取出name属性 对应的value值
String name=request.getParameter("txtname");
//2. 取值
String pwd=request.getParameter("txtpwd");
if(name.equals("中文")&&pwd.equals("1")){
//作用域保存name
request.setAttribute("name", name);
//跳转操作
request.getRequestDispatcher("/index.jsp").forward(request,response);
}else{
request.setAttribute("name", name);
request.getRequestDispatcher("/register.jsp").forward(request,response);
}
%>
</body>
</html>
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>
</head>
<body>
欢迎<%=request.getAttribute("name")
%>
</body>
</html>
效果图如下 当你刷新页面时会有一个null值 这是因为在register.jsp中在用户名中直接写的value="<%=request.getAttribute("name")%>" 这里会返回一个null值 要想解决这个问题用三元运算符
当你登录失败时会保留这个登录失败的用户名
当你成功时