2020-09-16

一、内置对象request

(1)getParameterValues(key)  获取提交表单的数据

        举例:输入用户名密码,并验证正确性。

 <body>
  <form action="request-receiver.jsp">
          用户名:<input  type="text" name="user"/><br/>
   密码:<input  type="password" name="pwd"/><br/>
           <input type="submit" name="登陆"/>
       </form>
  </body>

  添加表单,在里面输入用户名密码,然后将数据发送至request-receiver.jsp页面来处理.

  新建request-receiver.jsp文件: 

<body>
<%

    String name = request.getParameter("user");
    String pwd = request.getParameter("pwd");
  System.out.println(name+","+pwd);

  if("lj".equals(name) && "123456".equals(pwd)) {
     out.println("登陆成功");
   }else{
      out.println("errors");
    }
    %>
</body>

运行程序,当我们在网页输入正确的用户名之后,效果如下:

   

(2)getParameterValues(key)    获取提交表单的一组数据

我们现在往index.jsp中添加一组单选按钮:

<body>
  <form action="request-receiver.jsp" method="post">
           用户名:<input  type="text" name="user"/><br/>
           密 码:<input  type="password" name="pwd"/><br/>
           <input type="checkbox" name="likes" value="羽毛球">羽毛球
         <input type="checkbox" name="likes" value="摄影">摄影
          <input type="checkbox" name="likes" value="音乐">音乐
          <br/>
            <input  type="submit" name="登陆"/>
  </body>

添加的三个单选按钮,构成了数组“likes”。

然后在request-receiver.jsp中获取这个数组,并在控制台输出:

<body>
<%

    request.setCharacterEncoding("UTF-8");
     String name = request.getParameter("user");
     String pwd = request.getParameter("pwd");
     System.out.println(name+","+pwd);

    String[] likes = request.getParameterValues("likes");for(int i =0;i<likes.length;i++) {
      System.out.println(likes[i]);

     if("lj".equals(name) && "123456".equals(pwd)) {
        out.println("登陆成功");
    }else{
        out.println("errors");
    }
     %>
</body>

运行后,输入对应值:

 

(3)request.getRequestDispatcher("list.jsp").forward(request,response)   转发(通过代码的方式进行转发)

(4)request.setAttribute(key,object)   设置请求对象的属性

(5)request.gettAttribute(key)    获取请求对象的属性

现在是,request.jsp负责发数据,request-receiver.jsp负责处理数据(判断用户名密码的正确性),如果用户名密码正确,那我们就通过request.getRequestDispatcher(request-success.jsp),将请求转发给request-success.jsp页面,显示出“登陆成功”的效果。

index.jsp代码不变:

<form action="request-receiver.jsp" method="post">
             用户名:<input  type="text" name="user"/><br/>
              密 码:<input  type="password" name="pwd"/><br/>

             <input  type="submit" name="登陆"/>

          </form>

request-success.jsp,代码如下:

<%
    request.setCharacterEncoding("UTF-8");
    String name = request.getParameter("user");
    String pwd = request.getParameter("pwd");
    System.out.println(name+","+pwd);
     if("smyh".equals(name) && "007".equals(pwd)) {
         out.println("登陆成功");
        request.setAttribute("age", "22");
        request.getRequestDispatcher("request-success.jsp").forward(request, response);

     }else{
        out.println("errors");
     }
     %>

新建request-success.jsp,代码如下:

欢迎你,<%=request.getParameter("user") %> <br/>
年龄:<%=request.getAttribute("age") %>

获取之前的用户名,显示“欢迎你”,表示登陆成功。

获取获取请求对象的属性。

运行程序,输入用户名密码后,提交,出现如下界面:

 

 

二、内置对象out

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  <%
      out.write("文字内容");
  %>
  </body>
</html>

三、session(会话)

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  <
  <form action="session.jsp" method="post">
            用户名:<input  type="text" name="user"/><br/>
           密 码:<input  type="password" name="pwd"/><br/>

             <input  type="submit" name="登陆"/>
        </form>
  </body>
</html>
 <%
          String name = (String)session.getAttribute("name");
           String pwd = (String)session.getAttribute("pwd");
          out.println("登陆成功");
           out.println(name+","+pwd);
            System.out.println(session.getId());
        %>
<%

     request.setCharacterEncoding("UTF-8");
     String name = request.getParameter("user");
     String pwd = request.getParameter("pwd");

     if("lijia".equals(name) && "007".equals(pwd)) {

         session.setAttribute("name", name);
         session.setAttribute("pwd", pwd);

         response.sendRedirect("session-success.jsp");

         System.out.println(session.getId());
     }else{
         response.sendRedirect("fail.jsp");
     }
     %>

 

四、内置对象pageContext

 <form action="<%=request.getContextPath()%>/session.jsp" method="post">
     用户名:<input  type="text" name="user"/><br/>
            密 码:<input  type="password" name="pwd"/><br/>

      <input  type="submit" name="登陆"/>
          </form>

     <h2>pageContext对象</h2>
      <%

       pageContext.getRequest();
         pageContext.getResponse();
          pageContext.getSession();
           pageContext.getOut();
         String path = request.getContextPath();
           out.println("当前上下文的绝对路径:"+path);
          %>

五、内置对象application

 <h2>application对象</h2>
  <%

   String serverPath = application.getContextPath();//获取当前应用程序的路径
          out.println(serverPath);

          application.setAttribute("", "");
                %>

六、内置对象config

类型:javax.servlet.ServletConfig

描述:本JSP的 ServletConfig

作用域:page

注:代表配置对象,基本用不到。

七、内置对象exception

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  <h2>错误信息</h2>
   错误信息为:<%=exception%>
  </body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%
       int[] num = {9,2,3,2,8};
        for(int i =0;i<=num.length;i++){
          out.println(num[i]);
       }
%>
</body>
</html>

、内置对象page

类型:java.1ang.Object

描述:实现处理本页当前请求的类的实例(javax.servlet.jsp.HttpJspPage),转换后的Servlet类本身

作用域:page

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值