天天看點

servlet 和 jsp

servlet:

缺點:

顯示html的時候,麻煩。out.println("<html>");

優點:

servlet就是一個java類。編寫容器。

調試容易。ide。

jsp

jsp=html+java代碼

java server pages(java伺服器端頁面)

1.jsp和servlet差別:

jsp和servlet是本質相同的技術。容器負責編譯jsp-----servlet

表現形式。

servlet---java類

jsp-------文本(靜态資源)

1.jsp以源檔案部署到容器中。(servlet需要編譯成class檔案後,部署到容器中)

2.jsp部署到容器的根目錄下,和靜态資源位于相同的目錄。(web-inf/classes)

3.容器編譯jsp的源檔案到servlet class類:有第一個請求通路jsp的時候,容器編譯。如果部署到容器中的jsp源檔案被修改了,容器會重新的編譯jsp到servlet

4.jsp---servlet,類名:檔案名_jsp.java

5.jsp中的html的代碼後被jsp引擎放入到servlet的out.write()函數中。

在jsp中的嵌入java代碼必須放在指定的标記中。

1.jsp的三種原始标簽

2.jsp的指令标簽

3.jsp的動作标簽

4.在jsp2.0規範後,提出el表達式

5.自動以的标簽(jstl标簽庫,struts标簽庫,分頁标簽庫)

jsp中原始的三種标簽

<%! %>------聲明标簽,聲明變量和函數(聲明的變量是成員變量,函數是和_jspservice并列的函數體)

<%  %>------腳本标簽  編譯在_jspservice函數體的内部

<%=java表達式 %>------指派标簽  out.println(add(3,4));

練習1:

以20%機率顯示你中獎了!~

練習2:

把背景顔色根據輸入的值進行改變用jsp來實作。

jsp的指令标簽:

<%@ 标簽名  屬性=值 屬性=值。、。。。 %>

page include

<%@ page language="java"%>

language="java":

import="java.util.*,com.bluedot.user,"

<%@ page import="java.util.*"%>

<%@ page import="com.bluedot.user"%>

pageencoding="utf-8"----告訴jsp引擎,在解析我們的jsp的檔案的時候用什麼編碼方式

                    ----

contenttype="text/html; charset=utf-8"

response.setcontenttype("text/html; charset=utf-8");

練習3:

把給用戶端産生excel表格的例子改成用jsp來實作。(字元型響應)

<%@ page errorpage="error.jsp"%>

jsp中的内置對象(暗對象):9個

jsp                              servlet中的類型

request-------------------------httpservletrequest

response------------------------httpservletresponse

application---------------------servletcontext

session-------------------------httpsession(受指令标簽page的session屬性控制,預設可以使用)

config--------------------------servletconfig

out-----------------------------printwriter(jspwriter)

exception-----------------------exception(有條件的出現,當page指令的标簽的iserrorpage為true的時候)

page

pagecontext