1. 簡單介紹什么是 JSP 和 JSP工作原理、一些基本語法


JSP簡介

JSP全稱是Java Server Pages,是一種動態網頁技術,JSP其實就是在html中插入了java代碼和JSP標簽之后形成的文件文件名以.jsp結尾其實JSP就是一個servlet。
在servlet中編寫html比較痛苦,而寫JSP就像在寫html,但它相比html而言,html只能為用戶提供靜態數據即靜態頁面,而Jsp技術允許在頁面中嵌套java代碼,為用戶提供動態數據,從而形成動態頁面。需要注意的是最好只在JSP中編寫動態輸出的java代碼

 

其實JSP就是一個servlet 這句話要記一下!!!

 

一個JSP:

IDEA中創建jsp:

在web目錄下右鍵,new—>JSP/JSPX,創建一個名為first.jsp的文件。

 

eclipse中創建JSP:

在WebContent目錄下點擊右鍵—>new—>JSP file,創建一個名為first.jsp的文件。

記住是在WebContent下創建,可以自己訪問.

然后在文件中編寫下面代碼:

1.把頭部那些編碼換成UTF-8即可支持中文

2.可以看出 上面除了導包那一塊  下面的都是html代碼!

3.記住 java代碼要在這里面寫: <% java代碼塊 %>

4.記住 導java的包要這樣寫:<%@page import="java.util.*"%>  【例:導入util中全部包】

 

<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
        <h1>Hello,World!</h1>
        <% Date now = new Date();
            out.write(now.toLocaleString());
        %>
</body>
</html>

之后將項目部署到tomcat中並啟動,在瀏覽器中訪問該JSP即可在頁面中看到HELLOWORLD! 和  當前時間了。

 

JSP就是一個servlet

IDEA查看方式:

打開tomcat啟動的控制台中的最上面的CATALINA_BASE后面的硬盤地址,然后進入到work\Catalina\localhost目錄下就可以找到這個java文件了。

eclipse查看方式:

工作空間中的.metadata.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\07-04-jsp\org\apache\jsp目錄下。

可以看到firstjsp.java和firstjsp.class兩個文件,打開java源碼后可以看到該類繼承了 org.apache.jasper.runtime.HttpJspBase類通過HttpJspBase的源碼可以看到是繼承了HttpServlet因此JSP就是一個servlet

JSP的工作流程

將JSP文件轉換為.java文件並將其編譯為.class文件的過程都是由tomcat完成的,在tomcat內部有一個翻譯引擎當JSP頁面第一次被訪問時由翻譯引擎轉換為.java文件並編譯出.class文件之后再運行該class文件
在JSP中的html代碼都會翻譯到servlet中的out.write()中。

 

JSP中的注釋

在JSP中可以使用下面兩種注釋

  • html注釋:

    <!-- -->

     

  • JSP注釋:

    <%-- --%>

兩者之間的區別是html注釋可以在客戶端瀏覽器中以查看源代碼的方式看到而JSP注釋則不會被看到

  例: JSP源代碼:

<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

        
        <!-- 我不想學啦!!!!!!!!  -->
        <%-- 求知若渴啊!!!!!!!  --%>
</body>
</html>

瀏覽器中的源代碼:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

        
        <!-- 我不想學啦!!!!!!!!  -->
        
</body>
</html>

 

 

 

JSP一些基本的代碼標簽:

  • <% %>

在JSP中使用該標簽嵌入Java代碼,在一個JSP中可以有多個<% %>並且可以出現JSP文件中的任意位置JSP引擎會將這部分Java代碼按照從上到下的順序放到_jspService方法中因此在<% %>中只能出現以分號結尾的Java語句不能出現下面內容

- 聲明變量添加訪問權限修飾符的- 不能定義方法- 不能定義靜態語句塊
  • <%! %>

如果想要在JSP中聲明方法或靜態代碼塊等內容的話可以使用該標簽,在該標簽中不能直接編寫普通的Java語句一般情況下不建議使用這個標簽因為JSP是在單線程環境下運行的所以在這部分中的變量可能會有線程安全問題。例:

<%! private int a = 10; %>
<%! 
    public void m1(){
        System.out.println("m1方法");
    }
 %>

<% m1();//調用m1方法 %>

 

  • <%= %>

該標簽中的內容可以直接在JSP中輸出變量、常量等,里面的內容是不用分號結尾的會被JSP引擎直接翻譯到_jspService方法中的out.write()方法中輸出,例如:

    <% int a = 1024;%>
    <%= a %>
    <%= "monkey1024" %>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM