JSP

Servlet技術缺點在於:大量使用out.print()語句輸出頁面。JSP技術則負責將Servlet中負責顯示的語句抽取出來。

JSP:服務器端動態頁面技術的組件規範,含有HTML和少量Java代碼。容器會將JSP文件轉換爲一個Servlet類,然後運行。(HTML,註釋,Java代碼,指令,隱含對象)

其中註釋:<!--註釋 內容-->HTML註釋,如果註釋中存在Java代碼,則會被執行。        <%--註釋內容--%>JSP特有的註釋,忽略Java代碼

Java代碼分爲三種:JSP表達式(<%=。。。。。>),JSP小腳本(<%........%>),JSP聲明(<%!.........%>成員屬性或成員方法的聲明)

JSP指令:<%@指令名 屬性=值%>

常用的指令名:page,include,taglib 用於控制JSP在轉譯成Servlet類時生成的內容。

其中:page用於導入包,設置頁面屬性。例如<%@ page import="java.util.*,java.net.*" %>  <%@ page contentType="text/html" %>     <%@page pageEncoding="UTF-8" %>

其中:include用於包含其他文件。例如:<%@include file = "url"%>

JSP的隱含對象:分爲4類。(輸入輸出對象,作用域通信對象,Servlet對象,異常對象)

輸入輸出對象:HttpServletRequest  request,HttpServletResponse  response,JSPWriter   out

作用域通信對象:HttpSession  Ssession ,ServletContext   application,PageContext   pageContext

Servlet對象:Object   page,ServletConfig   config

異常鍍錫:Throwable  exception

轉發:一個Web組件將未完成的工作交給另外一個Web組件繼續完成。

如何實現轉發:

1、綁定數據到request對象。request.setAttribute(String name,Object obj)           request.getAttribute(String name)

2、獲得轉發器    RequestDispatcher rd = request.getRequestDispatcher(String uri)

3、轉發 rd.foward(request,response)

特點:地址欄不變(轉發發生在服務器內部。),共享同一個request對象,和response對象

<error-page>
      <exception-type>
            javax.servlet.ServletException
       </exception-type>
       <location>/error.jsp</location>
</error-page>

路徑處理技巧:

鏈接地址、表單提交、重定向是從應用名開始寫。

轉發是從應用名之後開始寫。

獲取應用的實際部署名稱:request.getContextPath()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章