jsp預編譯tomcat
① 誰可以詳細講解一下,Tomcat是如何將JSP頁面編譯成servlet的
jsp用於顯示頁面
servlet用於後台處理
通過提交將jsp數據傳到servlet
我覺得這樣比較清楚
jsp用於顯示頁面
servlet用於後台處理
通過提交將jsp數據傳到servlet
我覺得這樣比較清楚
jsp通過post、get、javascript等方法將後台處理所需要的值傳到後台經行處理
post、get方法:
例如:
<form action="servlet/PurchaseServlet"method="post">
<!-- ...-->
</form>
這里的method 方法可以填post/get表示提交的方法 action為提交的url-pattern(即請求)
在<TOMCAT_HOME>/conf/web.xml文件中要做相應配置
<servlet>
<servlet-name>PurchaseServlet</servlet-name>
<servlet-class>com.servlet.PurchaseServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PurchaseServlet</servlet-name>
<url-pattern>/servlet/PurchaseServlet</url-pattern>
</servlet-mapping>
順序是在servlet-mapping通過url-pattern來尋找servlet-name,這里的servlet-name使用戶自定義的,相當於一個映射,servlet中也有一個servlet-name,兩者的名字要相同,這樣就可以通過servlet-name映射在servlet中尋找相應的servlet文件,這樣就可以將提交的數據傳到servlet中並作相應處理。
javascript方法:
<a href="javascript:shopping('${mp3.name }');">購買</a>
在一個超鏈接上加上javascript方法shopping並加上所要傳遞的值('${mp3.name }')(我這里是用標簽寫的)
在head里寫javascript方法:
<head>
<!--...-->
<script type="text/javascript">
function shopping(Name){
var url = "../servlet/PurchaseServlet?mp3Name="+mp3Name;
location.href=url;
}
</script>
</head>
方法中的 var url = "../servlet/PurchaseServlet?mp3Name="+mp3Name;就表示要將值傳到哪裡
其中servlet/PurchaseServlet為請求
?mp3Name=為要傳的值得名稱也就是說servlet中用getAttribute("mp3Name")就能獲取到Name也就是('${mp3.name }')標簽里的值
同樣web.xml也要配置,配製方法和上面一樣
② 做的JSP網站怎麼用tomcat運行...
1、先下載JDK搭建Tomcat運行環境
③ tomcat經常無法自動編譯jsp
你更新程序之後,正確做法是把緩存都清除
④ JSP TOMCAT問題
注意事項:在tomcat的conf文件夾下有個server.xml文件,裡面又一段:<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />有時候8080埠會被別的應用程序佔用,所以應該改成8888或者其他。
1.在webapps文件夾下建立一個文件夾隨意(我的是myfirstjsp),在剛才建立的文件夾裡面建立你的jsp文件,和一個很重要的文件夾WEB-INF,在建立的WEB—INF文件夾裡面建一個web.xml文件和兩個文件夾lib和classes。
web.xml文件內容如下:<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
</web-app>
需要補充的內容等以後用的時候再加上來。
在myfirstjsp文件夾里建立jsp文件。
啟動tomcat,在瀏覽器里輸入:http://localhost:8888/myfirstjsp/你的jsp文件
就可以看到你的jsp顯示了。
要配置web.xml文件,這是核心~JSP最終也會編譯成一個servlet,你去看下tomcat的work文件夾下就知道了
⑤ tomcat怎麼編譯jsp文件
一、jsp執行過程圖解
用戶訪問jsp頁面時,jsp的處理過程如下圖所示:從圖中可以看出,Tomcat的核心組建是connector和container,container就是容器。容器就是負責管理控制servlet的應用程序。圖中的jasper就是解析jsp的jsp引擎。Tomcat既是servlet容器又是web伺服器,也是jsp引擎。
⑥ 什麼是 jsp 的預編譯特徵
1.2 JSP技術特徵
JSP技術所開發的Web應用程序是基於Java的,它擁有Java語言跨平台的特性,以及業務代碼分離、組件重用、基礎Java Servlet功能和預編譯等特徵。
1.2.1 跨平台
既然JSP是基於Java語言的,那麼它就可以使用Java API,所以它也是跨平台的,可以應用在不同的系統中,如Windows、Linux、Mac和Solaris等。這同時也拓寬了JSP可以使用的Web伺服器的范圍。另外,應用於不同操作系統的資料庫也可以為JSP服務,JSP使用JDBC技術操作資料庫,從而避免了代碼移植導致更換資料庫時的代碼修改問題。
正是因為跨平台的特性,使得採用JSP技術開發的項目可以不加修改地應用到任何不同的平台上,這也應驗了Java語言的"一次編寫,到處運行"的特點。
1.2.2 業務代碼分離
採用JSP技術開發的項目,通常使用HTML語言來設計和格式化靜態頁面的內容,而使用JSP標簽和Java代碼片段來實現動態部分。程序開發人員可以將業務處理代碼全部放到JavaBean中,或者把業務處理代碼交給Servlet、Struts等其他業務控制層來處理,從而實現業務代碼從視圖層分離。這樣JSP頁面只負責顯示數據即可,當需要修改業務代碼時,不會影響JSP頁面的代碼。
1.2.3 組件重用
JSP中可以使用JavaBean編寫業務組件,也就是使用一個JavaBean類封裝業務處理代碼或者作為一個數據存儲模型,在JSP頁面甚至整個項目中都可以重復使用這個JavaBean。JavaBean也可以應用到其他Java應用程序中,包括桌面應用程序。
1.2.4 繼承Java Servlet功能
Servlet是JSP出現之前的主要Java Web處理技術。它接受用戶請求,在Servlet類中編寫所有Java和HTML代碼,然後通過輸出流把結果頁面返回給瀏覽器。其缺點是:在類中編寫HTML代碼非常不便,也不利於閱讀。使用JSP技術之後,開發Web應用便變得相對簡單快捷多了,並且JSP最終要編譯成Servlet才能處理用戶請求,因此我們說JSP擁有Servlet的所有功能和特性。
1.2.5 預編譯
預編譯就是在用戶第一次通過瀏覽器訪問JSP頁面時,伺服器將對JSP頁面代碼進行編譯,並且僅執行一次編譯。編譯好的代碼將被保存,在用戶下一次訪問時,直接執行編譯好的代碼。這樣不僅節約了伺服器的CPU資源,還大大提升了客戶端的訪問速度
⑦ tomcat編譯jsp有幾個步驟
把你的web應用部署到tomcat..在去tomcat目錄下的work目錄下看看..就明白了..jsp被編譯成.calss文件.
jsp其實就是servlet..你說.class文件是怎麼運行的?明白了吧
⑧ jsp在tomcat伺服器中編譯的錯誤
路徑錯誤...
檢查哪裡配置錯了
NullPointerException
JSP頁面上的JAVA代碼有空指針異常.
即 AA.BB
其中AA為NULL
⑨ 關於jsp被tomcat編譯後的網頁出現漢字亂碼。
<%@ page contentType="text/html; charset=UTF-8" language="java" %>
然後用記事本打開該jsp文件,另存為,選擇編碼為UTF-8。
⑩ jsp文件必須使用tomcat嗎
不是,很多人用
myeclipse
寫jsp,而tomcat在myeclipse中可以直接部署,還有它是免費的、比較方便,所以比較普及。
部署jsp方式,將工程復制到tomcat的webapps文件夾下就可以