jsp中Servlet的三個要素:
1.必須繼承自HttpServlet
2.必須實現doGet()或者doPost()
3.必須在web.xml中配置Servlet
<servlet>
<servlet-name> </servlet-name>
<servlet-class> </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name> </servlet-name>
<url-pattern> </url-pattern>
</servelt-mapping>
HttpServeltRrequest:請求對象
getParameter():獲得表單元素的值
getAttribute():獲得request范圍中的屬性值
setAttribute():設置reqeust范圍中的屬性值
setCharacterEncoding():設置字符編碼
HttpSerletResponse:相應對象
sendRedirect():外部跳轉
getWriter():獲得輸出流對象
setContentType("text/html; charset=utf-8"):設置相應內容格式和編碼
四種會話跟蹤方式:
1.Session
HttpSession session = request.getSession();
session.setAttribute("name", "zhangsan");
session.setAttribute("pwd", "aaa");
String name = (String) session.getAttribute("name");
2.cookie:
//創建Cookie
Cookie cookie = new Cookie("name", "zhangsan");
//設置Cookie的超時時間
cookie.setMaxAge(24 * 60 * 60 *60);
//把Cookie發送到客戶端
response.addCookie(cookie);
//得到客戶端發送的Cookie
Cookie [] cookies = request.getCookies();
for(int i=0; i <cookies.length; i++) {
Cookie temp = cookies[i];
String key = temp.getName();
String value = temp.getValue();
}
3.隱藏表單域
<input type="hidden" name="name" value="zhangsan" />
request.getParameter("name");
4.Url重寫
問號傳參
LoginServlet?username=zhangsan&pwd=123
String name = request.getParameter("username");
String pwd =request.getPareameter("pwd");
內部跳轉:
LoginServlet
request.getRequestDispatcher("index.jsp").forward(request, resposne);
外部跳轉:
response.sendRedirect("index.jsp");
內部跳轉是一次請求和一次響應
外部跳轉是兩次請求和兩次響應
ServletContext:Servlet上下文對象
它是一個公共區域,可以被所有的客戶端共享
setAttribute():向公共區域里放入數據
getAttribute():從公共區域里取數據
二:
三:三個標準范圍:request, session, ServletContext
共同點:都有setAttribute(), getAttribute()
區別:范圍不同,request < session < servletContext
四:四種會話跟蹤方式
五:服務器上的五大對象
request, response, servlet, session, servletContext
Jsp:Java Server Page
頁面構成:7種元素
1.靜態內容:html
2.指令:page, include, taglib:
<%@ 指令名 屬性1="屬性值1" 屬性2="屬性值2" %>
3.表達式: <%=表達式 %>
4.Scriptlet <% Java代碼 %>
5.聲明: <%! %>:變量和方法
6.動作: <jsp:動作名 屬性="屬性值"> </jsp:動作名>
7.注釋:
客戶端看不到的: <%-- --%>
客戶端可以看到的: <!-- -->
Jsp的執行過程:
1.轉譯:Jsp--->Servlet
2.編譯:Servlet---->.class
3.執行:.class
第一次訪問jsp的時候響應速度較慢,后面請求時響應速度快
腳本:
表達式: <%= %>
Scriptlet: <% %>
聲明: <%! %>
指令:
page:language, import, errorPage, isErrorpage
include:file
taglib:uri:指定標簽庫描述符的路徑 prefix:指定標簽的前綴
新聞熱點
疑難解答