javascript
JSP-05- JSP总结
1?? 客戶端請求新頁面?
<%@ page language="java" contentType="text/html; charset=UTF-8"
??? pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function fun(){
???????? var uid = document.getElementById("uid").value;
???????? if(uid == ""){
?????????????????? alert("請輸入數據");
?????????????????? return false;
???????? }else{
?????????????????? return true;
???????? }
}
</script>
</head>
<body>
???????? <!-- 鏈接到page2 -->
???????? <a href="page2.jsp">鏈接到page2</a><br>
???????? <!-- 鏈接到page2,彈出新窗口 -->
???????? <a href="page2.jsp" target="_blank">鏈接到page2</a><br>
???????? <!-- 相對路徑鏈接到page2 -->
???????? <a href="./page2.jsp">鏈接到page2</a><br>
???????? <a href="../demo1/page2.jsp">鏈接到page2</a><br>
???????? <!-- 絕對路徑鏈接到page2 -->
???????? <a href="http://localhost:8080/web1/demo1/page2.jsp">鏈接到page2</a><br>
???????? <a href="<%=request.getContextPath() %>/demo1/page2.jsp">鏈接到page2</a><br>
???????? <!-- 鏈接到page2,并傳參 -->
???????? <a href="page2.jsp?uid=admin">鏈接到page2</a><br>
???????? <!-- 使用js鏈接到page2 -->
???????? <a href='javascript:window.location="page2.jsp";'>鏈接到page2</a><br>
???????? <!-- 使用js鏈接到page2,并傳參 -->
???????? <a href='javascript:window.location="page2.jsp?uid=admin";'>鏈接到page2</a><br>
???????? <!-- 使用js鏈接到page2,彈出新窗口,并傳參 -->
???????? <a href='javascript:window.open("page2.jsp?uid=admin");'>鏈接到page2</a><br>
???????? <!-- submit提交表單 -->
???????? <form action="page2.jsp" method="post">
?????????????????? <input type="text" name="uid">
?????????????????? <input type="submit" value="提交">
???????? </form>
???????? <!-- 驗證后提交表單 -->
???????? <form action="page2.jsp" method="post">
?????????????????? <input type="text" name="uid" id="uid">
?????????????????? <input type="submit" value="驗證后提交表單" οnclick="return fun()">
???????? </form>
???????? <!-- url方式提交數據 -->
???????? <form action="page2.jsp?uid=admin" method="post">
?????????????????? <input type="text" name="uid">
?????????????????? <input type="submit" value="提交">
???????? </form>
???????? <!-- hidden方式提交數據 -->
???????? <form action="page2.jsp" method="post">
?????????????????? <input type="hidden" name="uid2" id="uid2" value="admin">
?????????????????? <input type="submit" value="提交">
?????????????????? <script type="text/javascript">
??????????????????????????? document.getElementById("uid2").value = "admin22222";
?????????????????? </script>
???????? </form>
???????? <!-- button+js提交表單 -->
???????? <form id="form1" action="page2.jsp" method="post">
?????????????????? <input type="text" name="uid">
?????????????????? <input type="button" value="提交" οnclick='document.getElementById("form1").submit();'>
???????? </form>
???????? <!-- <a>+js提交表單 -->
???????? <form id="form2" action="page2.jsp" method="post">
?????????????????? <input type="text" name="uid">
?????????????????? <a href='javascript:document.getElementById("form2").submit();'>提交表單</a>
???????? </form>
</body>
</html>
5.2?? 中文亂碼解決方法??
?? 詳見文檔
?
?
String xing = request.getParameter("xing");?
? xing = new String(xing.getBytes("ISO-8859-1"),"utf-8");
? 這種方法很費事,當變量極少時可以考慮用這種方式。
添加 URlEncoding=”utf-8’? (此方法對get提交的方式有效)
?
Request.setCharacterEncoding(“utf-8”);?? //獲取參數前
<%
Cookie c = new Cookie("name","張曼");
response.addCookie(c);
%>? 此時頁面可能會出現500錯誤,但不決對。
需要在存放和獲取的時候進行編碼:
<%
Cookie c = new Cookie("name",URLEncoder.encode("張曼"));
response.addCookie(c);
%>
<%
? String name = "";
? Cookie[] cook = request.getCookies();
? if(cook != null)
? {
???????? ? for(Cookie c : cook){
?????????????????? ? if(c.getName().equals("name")){
??????????????????????????? ? name = URLDecoder.decode(c.getValue());
?????????????????? ? }
???????? ? }
? }
? out.println("<br/>cookie的值為: " + name);
%>
5.3 過濾器處理亂碼
詳見下文的過濾器
5.4? 隱式對象
?是Web容器加載的一組類的實例,不想一般的java對象那樣用 new? 去獲取實例,而是直接在JSP 頁面使用的對象。
?
?? 輸入和輸出對象
? Request
??表示客戶端的請求,包含了所有的請求信息。
?? String? getParameter(String name) : 根據請求頁面表單組件名稱獲取請求頁面提交的數據
?? String[] getparameterValues:? 獲取頁面請求中一個表單組建對應多個值時的用戶的請求數據。(例如復選框)
? getRemoteAddr()? 返回發送請求的主機的網絡地址
? getRequestURL()? 請求的URL
? Response
? 處理JSP生成的響應,然后將響應結果發送給客戶端。
??void setContentType(String name): 設置作為響應生成的內容的類型和字符編碼
?void? sendRedirect(String): 請求的另一個URL
? out
表示信息的輸出?
Print()? println()? write()
?? 作用域通信對象
? Session
表示用戶的會話狀況,用此機制可以輕易識別每一個用戶,能保存和跟蹤用戶的會話狀態。 (例如,購物車)。
Void SetAttribute(String name,Object value);
Void getAttribute(String name);
? Application
作用的范圍比session更大,不僅僅是在同一個窗口,而是作用在整個應用程序,所有客戶端窗口都可以共享該對象,從服務器啟動開始就存在,直到服務器關閉為止。他是 ServletContext的對象(全局)
方法同 session
? pageContext
使用戶可以訪問頁面作用域中定義的所有隱式對象。
方法同 session
?
?? Servlet對象
? page
提供對網頁上定義的所有對象的訪問。Page對象表示頁面本身,它是 java.lang.Object類的一個實例。 (很少用到)
<%= ((javax.servlet.jsp.HttpJspPage)page).getServletInfo() %>
? config
存儲servlet的一些初始化信息(很少用到)
?? 錯誤對象
只提供了一個 exception的錯誤對象,利用exception對象處理執行過程中引發的異常。
轉載于:https://www.cnblogs.com/Theladyflower/p/4492610.html
總結
以上是生活随笔為你收集整理的JSP-05- JSP总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android Service学习之In
- 下一篇: 收集的一些jQuery (我平常用的少的