JSP内置对象request 常用方法 案例

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值 要想解决这个问题用三元运算符 


当你登录失败时会保留这个登录失败的用户名



当你成功时




  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值