JAVA呼叫SAP ODATA服務
一、JSP內建物件簡介
1、 request 物件:使用者端請求,此請求會包含來自 GET/POST請求的引數。
a.獲取表單傳來的值:例:<% String userName = request.getParameter("userName");%>
如果(getParameter方法)報錯:轉https://www.cnblogs.com/lmbl/p/16273054.html解決。
如果表單提交中文亂碼:轉https://www.cnblogs.com/lmbl/p/16273231.html解決。
作用:代表請求物件,用來接收客戶端通過http 協議連線傳輸到伺服器端的資料。
2、response 物件
網頁傳回使用者端的迴應,代表響應物件,主要用於向客戶端傳送資料。
a.3秒後自動跳轉指定網頁
<% //response物件,3秒後自動跳轉指定網頁 response.setHeader("refresh","3;URL=sencondPage.jsp"); %>
b.重新定向
<% request.setCharacterEncoding("utf-8"); String userName = request.getParameter("userName"); if(userName ==null|| userName.equals("")){ //重新定向 response.sendRedirect("firstPage.jsp"); } %>
作用:代表響應物件,用來向客戶端傳送資料。
3、out 物件
網頁的屬性是在這裡管理
作用:主要用於向客戶端傳送資料。其中JspWriter 是out 的基類;在指令碼中,向網頁中輸出內容或變數。
輸出:
<% String name = "張三"; out.print(name);//輸出變數 或out.print("<p>+name+"</p>)//輸出H5標籤
4、session 物件
與請求有關的會話期
作用:主要用於來分別儲存每個使用者的個人資訊,與請求關聯的對話。
5、application 物件
表示整個伺服器,所有客戶端使用的application都是同一個;
作用:實現了使用者間資料恭喜概念股,可存放全域性變數。
6、PageContext 物件
網頁的屬性是在這裡管理
作用:作用域page;可以訪問其他八個物件。
計算網站訪問次數(例子):
<%-- Created by IntelliJ IDEA. User: likeyi Date: 2022/5/15 Time: 17:21 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>網站訪問次數</title> </head> <body> <% if(pageContext.getAttribute("nums")==null || pageContext.getAttribute("nums").equals("")){ //設定值 pageContext.setAttribute("nums",1); }if(session.getAttribute("nums")==null || session.getAttribute("nums").equals("")){ //設定值 session.setAttribute("nums",1); }if(application.getAttribute("nums") == null || application.getAttribute("nums").equals("")){ //設定值 application.setAttribute("nums",1); }else { int numsByPageContext = (int)pageContext.getAttribute("nums") + 1; pageContext.setAttribute("nums",numsByPageContext); int numsBySession = (int)session.getAttribute("nums") + 1; session.setAttribute("nums",numsBySession); int numsByApplication = (int)application.getAttribute("nums") + 1; application.setAttribute("nums",numsByApplication); } %> <p>page...:<%= pageContext.getAttribute("nums")%></p> <p>session...:<%= session.getAttribute("nums")%></p> <p>app...:<%= application.getAttribute("nums")%></p> </body> </html>
7、Config 物件
獲取伺服器配置資訊,去初始化引數,初始化引數在web.xml中配置
作用:程式碼片斷配置物件,表示對servlet 的配置。
8、page物件
如同this一樣,表示JSP整個頁面。
作用:處理jsp 網頁,是object 類的一個例項。
9、Exception物件
表示錯誤頁面處理操作
作用:處理jsp檔案執行時發生的錯誤和異常,只有在錯誤頁面裡才使用,前提是在頁面指令裡要有isErrorPage=true。
注:如果使用者在網站遇到報錯(505,404等)
可以建相對應的處理網頁,讓使用者看不到報錯的尷尬頁面
//例子:報錯(505)
<%-- Created by IntelliJ IDEA. User: lingfang Date: 2022/5/15 Time: 17:44 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>錯誤異常頁面</title> </head> <body> <% //例子:報錯(505) String s = null; out.print(s.toString()); %> </body> </html>
相對應新建500處理頁面:在page處記得isErrorPage="true"
<%-- Created by IntelliJ IDEA. User: lingfang Date: 2022/5/15 Time: 17:44 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" isErrorPage="true" %> <html> <head> <title>505</title> </head> <body> <h3 style="text-align: center">系統異常,請聯絡管理員!</h3> <h4 style="text-align: center">錯誤資訊:<%= exception.getClass().getName()%></h4> </body> </html>
在去web.xml處配置錯誤頁面
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <error-page> <error-code>500</error-code> <location>/error.jsp</location> </error-page> <error-page> <error-code>404</error-code> <location>/404.jsp</location> </error-page> </web-app>
注:如果以後程式中出現500錯誤都會跳入該錯誤提示頁面
<error-page>
<error-code>500</error-code>
<location>/error.jsp</location>
</error-page>