Tomcat學習筆記—-本地部署servlet動態資源
前言:
連結:Tomcat學習筆記–簡單瞭解和Web應用的目錄結構以及常見的Web應用時出現404錯誤
有問題:什麼是動態資源?
靜態資源:當使用者多次訪問這個資源,資源的原始碼永遠不會改變的資源
動態資源:當使用者多次訪問這個資源,資源的原始碼可能會發生改變。
Servlet : 用java語言來編寫動態資源的開發技術。
Servlet特點:
1)普通的java類,繼承HttpServlet類,覆蓋doGet方法
2)Servlet類只能交給tomcat伺服器執行(開發者自己不能執行)
所以要配置web.xml具體下面會講
靜態訪問URL舉例:http://localhost:8080/xx/zz.html
動態訪問URL舉例:http://localhost:8080/xx/One
區別看到沒 動態結尾沒有字尾名,這個下面會解釋的。
進入正題:
第一步:建立一個servlet
為了 瞭解Tomcat部署的流程,我是照著例子手動敲了一個servlet例子。
編寫一個servlet程式,繼承HttpServlet
但是繼承HttpServlet需要一個jar包:servlet-api.jar
具體可以在 apache-tomcat-9.0.8lib中找到 新增到專案中然後build path即可
package first.one;
import java.io.IOException;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class first extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=UTF-8");
resp.getWriter().write("codingCoge 的第一個動態頁面,純手寫,沒有用工具哈 時間是"+new Date());
}
}
第二步:建立Web應用的目錄結構在Tomcat中:
apache-tomcat-9.0.8webapps中建立專案,名字自擬定。我這裡是xx
專案下建立 WEB-INF資料夾 是用來存放servlet之類的資料,是不可以被外人看到的。
你也可以在xx下面新增靜態的資源如開頭提到的:zz.html
靜態訪問URL舉例:http://localhost:8080/xx/zz.html
不過這裡要構造的是動態的。
具體的不多說了,看這個好了
連結:建立Web應用的目錄結構在Tomcat中
第三步:部署servlet到Tomcat環境中:
把servlet檔案存放到Web應用的目錄結構中的classes檔案中。
記住 :要把包也導進來 ,我這裡是這樣的:
apache-tomcat-9.0.8webappsxxWEB-INFclassesfirstone.first.class
one.first
就是包名
第四步:配置web.xml檔案:
是schema約束的xml檔案 具體的可以去
W3school瞭解下
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
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">
<servlet>
<servlet-name>first</servlet-name>
<servlet-class>first.one.first</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>first</servlet-name>
<url-pattern>/One</url-pattern>
</servlet-mapping>
</web-app>
注意:
1. One前面要+`/` 不然404錯誤
<url-pattern>/One</url-pattern>
2. 寫類名而不是 .class結尾
<servlet-class>first.one.first</servlet-class>
重點:
<servlet-name>first</servlet-name> 是內部名稱,可以自定義
但是一般都是servlet類名,不要太隨便起的
<url-pattern>/One</url-pattern>是url地址
順序:重中重:
http://localhost:8080/xx/One
先訪問 <servlet-mapping>
<url-pattern>/One</url-pattern>
</servlet-mapping>
導航到:
<servlet-mapping>
<servlet-name>first</servlet-name> //內部地址
</servlet-mapping>
再根據同名導航到:
<servlet>
<servlet-name>first</servlet-name> //同名導航到這
<servlet-class>first.one.first</servlet-class> //再到這
</servlet>
最後:
http://localhost:8080/xx/One
顯示的是:servlet所在地址
apache-tomcat-9.0.8webappsxxWEB-INFclassesfirstonefirst.class
相關文章
- JavaWeb學習筆記——Tomcat資料來源JavaWeb筆記Tomcat
- Java學習筆記-Day52 JavaWeb、Tomcat、ServletJava筆記WebTomcatServlet
- Servlet學習筆記Servlet筆記
- Tomcat&Servlet學習TomcatServlet
- Tomcat學習筆記Tomcat筆記
- JavaWeb學習筆記~01.ServletJavaWeb筆記Servlet
- 非同步Servlet學習筆記(一)非同步Servlet筆記
- 動態規劃學習筆記動態規劃筆記
- springboot學習筆記:6.內建tomcat啟動和外部tomcat部署總結Spring Boot筆記Tomcat
- Mybatis學習筆記(6)-動態SQLMyBatis筆記SQL
- SpringMVC學習筆記9-靜態資源對映SpringMVC筆記
- java反射之動態代理學習筆記Java反射筆記
- Python學習筆記6——動態型別Python筆記型別
- 【Git】學習筆記–clone和本地修改Git筆記
- 動態dp複習筆記筆記
- ActionScript 學習筆記(資料互動)筆記
- Django2學習筆記--引用本地靜態檔案css,js等Django筆記CSSJS
- Java學習筆記-Day53 Servlet與JSPJava筆記ServletJS
- Google Protocol buffer 學習筆記.下篇-動態編譯GoProtocol筆記編譯
- nginx+tomcat動靜態資源分離NginxTomcat
- git學習筆記(本地倉庫與github)筆記Github
- React學習筆記-State(狀態)React筆記
- Servlet筆記Servlet筆記
- Tomcat 學習筆記(3) – Host 主機配置Tomcat筆記
- 狂神說Java Web學習筆記_TomcatJavaWeb筆記Tomcat
- 【C++學習筆記】使用new建立動態結構C++筆記
- Oracle動態效能檢視學習筆記(1)_v$sysstatOracle筆記
- Oracle動態效能檢視學習筆記(3)_v$undostatOracle筆記
- Oracle動態效能檢視學習筆記(4)_v$rollstatOracle筆記
- Oracle動態效能檢視學習筆記(6)_v$filestatOracle筆記
- Oracle動態效能檢視學習筆記(7)_v$sessionOracle筆記Session
- 我的Dll(動態連結庫)學習筆記 (轉)筆記
- Kinect開發學習筆記之(二)Kinect開發學習資源整理筆記
- 學習韓順平細說Servlet/Jsp視訊筆記(一)ServletJS筆記
- [python學習手冊-筆記]004.動態型別Python筆記型別
- Oracle動態效能檢視學習筆記(4)_v$waitstatOracle筆記AI
- Oracle動態效能檢視學習筆記(8)_v$waitstatOracle筆記AI
- 大資料學習筆記之十二 雲端計算資源管理大資料筆記