標籤:區別 ons 檔案 context text new local connect 客戶
1.JSP:html中嵌入java代碼。
2.JSP執行過程:
用戶端通過瀏覽器發送請求;
由web容器將得到的請求jsp檔案翻譯成.java檔案; (servlet檔案)
再將翻譯成.java檔案編譯成.class;
最後執行.class並將結果響應給用戶端進行呈現。
3.JSP執行過程經曆了哪幾個階段:
要求階段
翻譯階段
編譯階段
執行階段
4.jsp頁面元素組成
靜態文本(html)
指令<%@ %>(比如:<%@page %>,<%@include%>)
運算式<%= %>
小指令碼/java代碼 <% %>
聲明 <%!%>
注釋
用戶端注釋:<!-- 這是注釋,但用戶端可以查看到 -->
服務端注釋:<%-- 這也是注釋,但用戶端不能查看到 --%> 推薦使用
5.web程式訪問不到排錯處理方案
1).tomcat環境有沒有問題;
2).項目有沒部署;
3).tomcat有沒有啟動;
4).url訪問是不是正確(檔案是否放錯位置了,比如放在了不對外訪問的檔案夾下如:WEB-INF下或META-INF下);
5).刪除瀏覽器緩衝;
6).刪除tomcat下\work\Catalina\localhost找到要訪問的項目名刪除。
6.jsp內建對象(9個)
request
reponse
session
application
out
pageContext
page
config
exception
7.request:封裝了請求的參數
request.getParameter得到某一屬性的一個資訊
request.getParameterValues得到一組資訊
post方式亂碼處理:
a).tomcat server.xml 中設定字元集編碼(URIEncoding="utf-8"),但不一定啟效果;那麼則需要通過如下b)方法解決。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="utf-8"/>
b.)post方式提交亂碼處理,必須在使用request之前設定,亂碼方可解決
request.setCharacterEncoding("utf-8");
String userName=request.getParameter("userName");
String userPwd=request.getParameter("userPwd");
get方式亂碼處理:
new String(userName.getBytes("iso8859-1"),"utf-8")
8.response:響應客戶請求並向用戶端輸出資訊
//重新導向
response.sendRedirect("success.jsp");//重新導向(用戶端),地址欄變了
//請求轉寄
request.getRequestDispatcher("login.jsp").forward(request, response);//請求轉寄,地址欄不變(服務端做的轉寄)
重新導向與請求轉寄區別:
轉寄是在伺服器端發揮作用,通過forward方法將提交資訊在多個頁面間進行傳遞;由於是伺服器內部控制轉移,所以瀏覽器地址欄不會顯示出轉向後的地址。
重新導向是在用戶端發揮作用,通過請求新的地址實現頁面轉向,在地址欄中可以顯示轉向後的地址。
9.out:向頁面輸出內容的。
10.錯誤頁面的配置( web.xml中配置)
<error-page>
<error-code>404</error-code>
<location>/404.html</location>
</error-page>
11.include指令
在一個頁麵包含另一個頁面的內容
<%@ include file="doLogin_bak.jsp"%>
JavaWeb編程(二)Jsp內建對象