1. 程式人生 > 其它 >JSP中的內建物件

JSP中的內建物件

技術標籤:筆記javaweb

1.網頁輸出物件out

<hr>
  你好 jsp

  <hr>
<%
  String str="小菜雞";
  //使用out物件輸出,只能在指令碼中使用out
  out.print(str);
  %>
  
<%--  還可以結合前端使用--%>
  str:<%=str %>
  <hr>
  <%!

在這裡插入圖片描述求最大值

 <%!
  public int max(int x,int y){
      return x>y?x:y;
  }
  %
> 最大值:<%=max(6,8)%>

jsp顯示當前日期

<body>
<%
    //在網頁中顯示當前日期時間
    Date date=new Date();
    //日期格式化
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String Time=sdf.format(date);
%>
當前時間為:<%= Time%>

在這裡插入圖片描述

2.request物件

使用者傳送的所有的請求都是通過request物件實現,request中攜帶了請求的地址、引數等等

登入案例:使用者傳送登入請求,後臺獲取使用者傳送的請求引數

<%--
action 指定表單資訊傳送的服務端地址
method 指定傳送請求的方式
--%>
<form action="control.jsp">
    <input type="text" name="uname" placeholder="請輸入使用者名稱">
    <input type="password" name="pwd" placeholder="請輸入密碼"
> <input type="submit" value="登入"> </form>

獲取請求中攜帶的資訊,判斷是否正確


    String uname=request.getParameter("uname");
    String pwd=request.getParameter("pwd");
     
  //判斷使用者名稱密碼是否正確
      if("admin".equals(uname)){
          request.setAttribute("msg","登入成功");
          //請求轉發到success.jsp
          request.getRequestDispatcher("success.jsp").forward(request,response);
      }else{
          //請求轉發到error.jsp
          request.getRequestDispatcher("error.jsp").forward(request,response);
      }
  %>
<%--  在頁面中顯示--%>
  使用者名稱:<%= uname%>
  <br>
  密碼:<%=pwd%>

success.jsp

 <%
  String uname=request.getParameter("uname");
  Object msg=request.getAttribute("msg");
  %>

<h4>歡迎你<%=uname%></h4>
msg:<%=msg%>

error.jsp

<h4>登陸失敗</h4>

在這裡插入圖片描述在這裡插入圖片描述
*

3.response

response作為服務端響應給客戶端的過程,僅僅只是將服務端的請求重定向給了另一個地址
登入案例(注意重定向時位址列中的變化及引數攜帶問題)

<%
    //獲取請求中攜帶的資訊
    String uname=request.getParameter("uname");
    String pwd=request.getParameter("pwd");

   if("admin".equals(uname)){
       //重定向到成功頁面
       response.sendRedirect("success.jsp");
   }else{
       response.sendRedirect("error.jsp");
   }
%>
<%--  在頁面中顯示--%>
使用者名稱:<%= uname%>
<br>
密碼:<%=pwd%>

在這裡插入圖片描述
結果顯示為null,說明引數並未攜帶

總結request和response的區別

request:

1.一次請求,多次轉發

2.請求轉發後,位址列中的地址不發生改變

3.request請求轉發可以攜帶引數

response:

1.至少兩次請求

2.位址列中的地址會發生改變

3.不能攜帶引數