JSP

jsp:

一:

簡介:(全稱Java Server Pages),jsp是一個特殊的servlet;Servlet通常應用於邏輯控制,至關於mvc中Controller;servle的t不足:寫一堆的html標籤拼接;jsp是在java+html基礎上,可寫java代碼和html標籤,主要用於頁面的顯示;把jsp看成html用;你雖然會在jsp中寫java代碼,可是你別寫,java代碼主要寫在servlet中;html

基礎: jsp的註釋:< % --java

    <%@:表明聲明的是jspweb

    language:語言瀏覽器

    contentType:上下文(網頁)用瀏覽器以什麼樣的類型和編碼打開tomcat

    pageEncoding:文件保存在服務器上的編碼服務器

    <%:都是給tomcat看的,都要通過服務器運行session

    <%%>:可寫java代碼mvc

         輸出:<%=>至關於out.println()app

 代碼示例:1.<%   //輸出到頁面  out.println("jsp");  %>jsp

                  2.<%! //定義一個無返回值的方法  public void run(){

                                                              System.out.print("run....");          

                                                                                                }

 //定義一個有返回值的方法                 public int num(int a,int b){

                                                                 return a+b;

                                                                                              }  %>

                    3.                                          <%   run();

                                                                      int c=num(5,10);

                                                                    System.out.print(c);

                                                                    out.print(c);    %>

                                                                <%=num(2,5) %>

4.<%int i=1;while(i<=20){%>  <span style="color: red"><%=i %></span><%i++;} %>

5.打印九九乘法口訣表:

 <table border="1" style="background: red;">

      <%for(int i = 1 ; i < 10 ; i ++){%>

                                                         <tr>

      <%for(int j = 1 ; j <= i ; j ++){%>

                                                     <td><%=i %> * <%=j %> = <%=i * j %></td>

                                                      <%}%>  </tr>

                                                       <%}%></table>

二.

1.標籤

 

2.Jsp生命週期和servlet同樣;

_jspInit()初始化

_jspService()服務:主要功能代碼

_jspDestroy()銷燬

3.原理:Jsp被編譯過的路徑,通常在tomcat的work目錄;jsp被翻譯成:jsp名+_jsp.java文件,繼承HttpJspBase實現了HttpServlet,再給編譯成字節碼文件:jsp名+_jsp.class

 4.Jsp執行過程:

用戶客戶端訪問頁面發送請求,被web服務器翻譯成.java文件,而後被jdk編譯成class文件,最後在被web服務器解析成html響應到客戶端;

 

 

 

5.頁面跳轉

<!-- 相對路徑 --><button><a href="first.jsp">first1</a></button>

<!-- 絕對路徑 --><button><a href="http://localhost:8080/com.jh.web/first.jsp">first2</a></button>

<%//獲取的是路徑:以防哪一天老闆心情很差改了項目名String path=request.getContextPath();%><button><a href="<%=path %>/first.jsp">first3</a></button>

 <!-- 利用jsp標籤 --><jsp:forward page="first.jsp"></jsp:forward>

請求轉發:<%request.getRequestDispatcher("first.jsp").forward(request, response);%>

 

//重定向<%response.sendRedirect("first.jsp");%>

 

 

請求轉發與重定向的區別:

forward:服務器轉發 只發送一次請求,地址欄未發生改變   轉發效率高  只能訪問本網站頁面

Redirect:客戶端轉發 發送了兩次請求,地址欄發生了改變  轉發效率低  可訪問其餘網站頁面

--%>

 

三.註冊登陸頁面:

 

第一步:

 

 

 

 

第二步:

 

 

 

 

 

第三步:

 

 

 

第四步:

 

 

 

第五步:

 

 

 

第六步:

 

 

 

第七步:

 

 

 

第八步:

 

 

 

第九步:

 

 

 

第十步:

 

 

四.

1.   jsp九大內置對象

內置對象不用再像java同樣new對象,直接拿着使用;

name

類型

描述(decription)

pageContext

PageContext

上下文

session

HttpSession

會話

application

ServletContext

應用服務

config

ServletConfig

配置

out

JspWriter

輸出

page

index_jsp

Jsp的java文件

request

HttpServletRequest

請求

response

HttpServletResponse

響應

e

Exception

異常

 

 jsp的四大做用域

 

做用域

描述

Page(pageContext)

當前頁

request

一次請求(多個頁面)

session

一次會話

application

應用

 

做用域大小:application > session > request > pageContext;使用規則能用小的做用域不要大的做用域,浪費內存

 

測試pageContext:

<body>

<%--

測試pageContext做用域

 --%>

 <%

 pageContext.setAttribute("name", "岳飛");

 %>

 <%

 String name=(String)pageContext.getAttribute("name");

 out.print(name);

 %>

</body>

五.sevlet的註解

六.el表達式

相關文章
相關標籤/搜索