java 關於JSP的使用

   JSP編程html

1 jsp 進入   Java Server Pagesjava

  Servlet做用: 用java語言開發動態資源(  java 流 )的技術.web

  JSP 做用:用java語言開發動態(java 流)+靜態資源(html)的技術編程

 

2 JSP特徵瀏覽器

  JSP 必須交個tomcat服務器解析tomcat

  JSP 能夠寫java代碼和HTMl代碼服務器

 

3 JSP 執行的過程cookie

1session

http://IP地址:端口號/項目名稱/jsp文件app

2

tomcat中掃描到index.jsp文件

3

tomcat將index.jsp文件解析爲index_jsp.java 文件

4

tomcat的JDK將 index_jsp.java轉換字節碼 index_jsp.class文件

5

tomcat構造和初始化index_jsp對象,其實能夠理解爲servlet對象

6

tomcat調用index_jsp.class中的service方法

7

tomcat的service方式會經過輸出流返回HTML代碼到瀏覽器

8

瀏覽器接收HTML 而且解析成頁面效果顯示

 

4 JSP生命週期

  1> 翻譯 jsp--->java文件

2 編譯 java-->class文件(  servlet程序)

3 構造方法(第一次訪問)

4 _jspInit方法 (第一次訪問)

5 _jspService方法

6_jspDestory() 方法

 

 

 

 

   JSP語法

1 JSP 模板

  JSP 頁面中會自動添加HTML代碼,該JSP是模板形式

2  JSP表達式

語法:<%=變量或者表達式%>

做用:向瀏覽器輸出變量或者表示式經過計算後的結果

  A 表達式的原理就是翻譯成out.prin()流輸出HTML/TEXT格式到頁面。

  B 表達後面是不須要用分號結束的。

3 JSP 腳本

   語法:<% java代碼   %>

   做用:執行java代碼

 

4JSP聲明

 語法:<% ! 變量或者方法 %>

 做用:聲明變量和方法 後面JAVA程序能夠調用

 

5JSP註釋

  語法:<%-- 註釋--%>

 

6 JSP 編譯指令 編譯前執行

語法:<%@ %>

  1 include指令

   <%@ include file="top.jsp" %>  

   在編譯成.class文件以前,鍵將top.jsp裏面的全部代碼拷貝到當前位置

 

  2 page指令

  語法 <%@  page  %>

  做用:告訴tomcat如何翻譯當前jsp文件

   

<%@ page 

language="java"        --使用的語言

import="java.util.*"   --須要導入的類

pageEncoding="UTF-8"   --jsp編碼方式

contentType="text/html; charset=UTF-8" --tomcat將html流發送給瀏覽器的文件類型和編碼方式

errorPage="error.jsp"   --當前jsp頁面解析錯誤的時候就會跳轉到error.jsp去

isErrorPage="false"  --當前頁面是否是錯誤導向頁面

 %>

 

 

 

 

 

3 taglib指令

   語法<%taglib  %>

   做用:標籤指令 用來解析標籤效果

  <%@taglib  prefix="c"  uri="http://java.sun.com/jsp/jstl/core"  %>

 

 

 

7 動做指令  編譯後執行

  <jsp:動做   />

<jsp:useBean>  用來實例化一個對象  對象名用id表示 class類路徑

<jsp:setProperty> 將一個對象中的屬性賦值

<jsp:getProperty>  取對象中屬性的值

 <jsp:useBean id="s3" class="com.bw.bean.Student" ></jsp:useBean>

 <jsp:setProperty property="name" name="s3"  value="shunge"   />

 <jsp:getProperty property="name" name="s3"/>

<jsp:forward>  轉發到另外的頁面    直接跳轉到指定的頁面

<jsp:forward page="index.jsp"></jsp:forward>

<jsp:include> 包含編譯後另一個頁面的信息

  <jsp:forward page="index.jsp">

 <jsp:param  name="username"   value="god"  />

 <jsp:param  name="pwd"   value="123456"  />

 </jsp:forward>

<jsp:par

 

   JSP 內置對象 

 

九大內置對象

 

jsp

servlet

 

對象名

類型

使用範圍

request

HttpServletRequest

請求 瀏覽器--->服務器

response

HttpServletResponse

返回 服務器--->瀏覽器

config

ServletConfig

用來獲取web.xml中的信息

application

ServletContext

整個項目中的全局信息

exception

Thrawable

捕獲異常 try/catch  throws

page

this

當前對象,當前頁面對象

out

JspWriter---->PrintWriter

當前頁面輸出流

pageContext

PageContext

當前頁面的上下文,整個頁面

Session

HttpSession

會話  瀏覽器和服務器通信

 

 

 

 

 

 

 

1  out  對象  JspWriter 帶緩衝的PrinterWriter  就是輸出流   

 

  使用範圍是當前頁面,超出了當前頁無效

 

PrinterWriter    直接向瀏覽器輸出內容

 

JspWriter       向Jsp 緩衝區寫內容

 

out.print()

 

out.println();

 

 

 

 

 

2  pageContext 對象 當前頁面的上下文     

 

   使用範圍是當前頁面,超出了當前頁無效

 

存值 pageContext.setAttribute("username","zhangsan");

取值pageContext.getAttribute("username")

 

 

 

 

 

3  page==this 對象 通常用在編譯指令中 <%@ page   %>

 

 

 

4  request 請求  瀏覽器到服務器

 

 

 

當前請求存屬性值

request.setAttribute("name","godyang");

當前請求取值

request.getAttribute("name")

請求傳遞參數

<a href="b.jsp?name=shunshun">  b.jsp</a>

或者

  <form  action="b.jsp"  method=post  >

   <input  type=text name="name" value="shunshun" />

   </form>

 

取得請求參數的值

request.getParameter(參數名);  request.getParameterValues(參數名)

 

5 reponse  返回  服務器返回到瀏覽器

 

 

 

獲取返回流

PrintWriter out = response.getWriter();

返回內容形式

response.setContentType("text/html");

返回的編碼

response.setCharacterEncoding("UTF-8");

頁面重定向

response.sendRedirect("index.jsp");

瀏覽器端保存cookie對象

response.addCookie()

 

 

 

 

 

 

 

6 session 會話  瀏覽器和服務器通信    當瀏覽器關閉的時候會話結束

 

當瀏覽器第一訪問服務器的時候就會產生一個會話

 

保存會話信息

 session.setAttribute("uname","abc");

獲取會話信息

 session.getAttribute("uname");

 

 

 

 

 

7 application 應用   tomcat啓動的時候整個項目就是一個應用

 

   當把值存入應用中,只有當tomcat關閉的時候才銷燬

 

 

 

保存應用信息

application.setAttribute("app","appInfo");

獲取應用信息

 application.getAttribute("app");

相關文章
相關標籤/搜索