java 打开jsp文件_jsp文件怎么打开(java-web中jsp的理解)
jsp文件怎么打開(java-web中jsp的理解)JSP:Java Server Pages。JSP是一種網(wǎng)頁的編碼格式,不同于HTML的是JSP中是由 HTML中的標(biāo)簽指令 和 Java邏輯代碼 拼湊而成, 其中的Java代碼類似于JavaScript中的邏輯代碼, 但相對比來說JSP中的Java代碼更方便閱讀和書寫.
一:JSP的運(yùn)行原理
當(dāng)JSP頁面被運(yùn)行時(shí),WEB容器會把請求交給JSP引擎處理,會將JSP翻譯成一個(gè)_jspServlet,然后按照Servlet的調(diào)用方式來進(jìn)行調(diào)用,
瀏覽器向服務(wù)器發(fā)請求,不管訪問的是什么資源,其實(shí)都是在訪問Servlet,所以當(dāng)訪問一個(gè)jsp頁面時(shí),其實(shí)也是在訪問一個(gè)Servlet,服務(wù)器在執(zhí)行jsp的時(shí)候,首先把jsp翻譯成一個(gè)Servlet,所以我們訪問jsp時(shí),其實(shí)不是在訪問jsp,而是在訪問jsp翻譯過后的那個(gè)Servlet,
二:Tomcat
Tomcat在Web中的作用:
Tomcat是Web中的容器,
當(dāng)客戶在Web服務(wù)器中輸入請求的時(shí)候, 如果請求的動(dòng)態(tài)頁面, 那么Web服務(wù)器會創(chuàng)建一個(gè)Servlet來處理, Servlet就是Java代碼, 只是在服務(wù)器端的Java代碼, Servlet通過配置文件來攔截客戶所發(fā)出的請求, 并進(jìn)行相應(yīng)的處理, 最后反饋到客戶端.
在這一系列的請求中,Web服務(wù)器是如何創(chuàng)建出Servlet來對請求進(jìn)行處理? 而Tomcat的作用就是幫助Web服務(wù)器來創(chuàng)建Servlet的
Tomcat是應(yīng)用(java)服務(wù)器,它只是一個(gè)Servlet容器,是Apache的擴(kuò)展,處理動(dòng)態(tài)頁面的部分
Tomcat各個(gè)文件夾的含義
bin:二進(jìn)制執(zhí)行文件。里面最常用的文件是startup.bat
conf:配置目錄。里面最核心的文件是server.xml??梢栽诶锩娓亩丝谔柕取DJ(rèn)端口號是8080,也就是說,此端口號不能被其他應(yīng)用程序占用。
lib:庫文件。tomcat運(yùn)行時(shí)需要的jar包所在的目錄
logs:日志
temp:臨時(shí)產(chǎn)生的文件,即緩存
webapps:web的應(yīng)用程序。web應(yīng)用放置到此目錄下瀏覽器可以直接訪問
work:編譯以后的class文件。
當(dāng)我們通過瀏覽器訪問index.jsp時(shí),服務(wù)器首先將index.jsp翻譯成一個(gè)index_jsp.class,在Tomcat服務(wù)的work\Catalina\localhost\項(xiàng)目名\org\apache\jsp目錄下可以看到index_jsp.class的源代碼文件index_jsp.java,
index_jsp這個(gè)類是繼承?org.apache.jasper.runtime.HttpJspBase這個(gè)類的,通過查看Tomcat服務(wù)器的源代碼,可以知道在apache-tomcat-6.0.20-src\java\org\apache\jasper\runtime目錄下存HttpJspBase這個(gè)類的源代碼文件
HttpJspBase?類是繼承?HttpServlet的,所以HttpJspBase?類是一個(gè)Servlet?,而index_jsp?又是繼承?HttpJspBase類的,所以index_jsp類也是一個(gè)Servlet,所以當(dāng)瀏覽器訪問服務(wù)器上的index.jsp頁面時(shí),其實(shí)就是在訪問index_jsp這個(gè)Servlet,index_jsp這個(gè)Servlet使用_jspService這個(gè)方法處理請求。
三:Jsp中的HTML代碼和Java代碼如何發(fā)送到客戶端
1:jsp中的代碼是由?Java代碼 和HTML?代碼組成的 但是兩種不同的代碼是如何實(shí)現(xiàn)他們的作用的?
在客戶端發(fā)出請求時(shí)(請求的是動(dòng)態(tài)代碼) 但是客戶端卻只能看到HTML代碼,?Java代碼是客戶端看不到的
原因是: 請求的JSP頁面中,所有的代碼是通過了Web服務(wù)器(在Tomcat下)編譯后的Servlet代碼, 在jsp中編寫的java代碼和html代碼都會被翻譯到_jspService方法中去,在jsp中編寫的java代碼會原封不動(dòng)地翻譯成java代碼,如直接翻譯成out.print("Hello Jsp");,而HTML代碼則會翻譯成使用out.write("\r\n");的形式輸出到瀏覽器。在jsp頁面中編寫的html排版標(biāo)簽都是以out.write("\r\n");的形式輸出到瀏覽器,瀏覽器拿到html代碼后才能夠解析執(zhí)行html代碼。
當(dāng)執(zhí)行_jspService方法處理請求時(shí),就會執(zhí)行在jsp編寫的java代碼了,所以Jsp頁面中的java代碼服務(wù)器是通過調(diào)用_jspService方法處理請求時(shí)執(zhí)行的。(_jspService中的Java代碼是實(shí)現(xiàn)動(dòng)態(tài)頁面的邏輯基礎(chǔ))
Tags:
總結(jié)
以上是生活随笔為你收集整理的java 打开jsp文件_jsp文件怎么打开(java-web中jsp的理解)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python npy文件_python实
- 下一篇: java8学习_java8学习