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
相關文章
- Java學習筆記-Day52 JavaWeb、Tomcat、ServletJava筆記WebTomcatServlet
- Servlet學習筆記Servlet筆記
- Tomcat&Servlet學習TomcatServlet
- Tomcat學習筆記Tomcat筆記
- 非同步Servlet學習筆記(一)非同步Servlet筆記
- JavaWeb學習筆記~01.ServletJavaWeb筆記Servlet
- 動態規劃學習筆記動態規劃筆記
- SpringMVC學習筆記9-靜態資源對映SpringMVC筆記
- Python學習筆記6——動態型別Python筆記型別
- java反射之動態代理學習筆記Java反射筆記
- Java學習筆記-Day53 Servlet與JSPJava筆記ServletJS
- 狂神說Java Web學習筆記_TomcatJavaWeb筆記Tomcat
- 動態dp複習筆記筆記
- 2020 docker部署Jenkins學習筆記DockerJenkins筆記
- Servlet筆記Servlet筆記
- Django2學習筆記--引用本地靜態檔案css,js等Django筆記CSSJS
- Google Protocol buffer 學習筆記.下篇-動態編譯GoProtocol筆記編譯
- React學習筆記-State(狀態)React筆記
- WPF筆記4——靜態資源(StaticResource)筆記
- [python學習手冊-筆記]004.動態型別Python筆記型別
- 學習韓順平細說Servlet/Jsp視訊筆記(一)ServletJS筆記
- Kubernetes學習筆記(九):StatefulSet--部署有狀態的多副本應用筆記
- 移動地理資訊系統學習筆記筆記
- Solidity語言學習筆記————14、動態位元組陣列Solid筆記陣列
- BearPi-HM Nano學習筆記(1)——HarmonyOS開發資源記錄NaN筆記
- [學習筆記] 動態開點權值線段樹合併 - 資料結構筆記資料結構
- h5學習筆記:動態載入vconsole 除錯工具H5筆記除錯
- 資料庫學習筆記資料庫筆記
- AC自動機學習筆記筆記
- AC 自動機學習筆記筆記
- QT學習筆記4(動畫)QT筆記動畫
- AI學習筆記——強化學習之動態規劃(Dynamic Programming)解決MDP(1)AI筆記強化學習動態規劃
- numpy的學習筆記\pandas學習筆記筆記
- 結構動力學教材-學習筆記筆記
- Springcloud學習筆記68--springboot 整合Caffeine 本地快取GCCloud筆記Spring Boot快取
- 《L01 Laravel 教程》 學習筆記 - 部署問題Laravel筆記
- Kubernetes全棧架構師(資源排程上)--學習筆記全棧架構筆記
- Kubernetes全棧架構師(資源排程下)--學習筆記全棧架構筆記