目錄
2.3.2 查看項目結構“Project Structure”
前面幾間講了servet的產生環境、servlet容器概念、jsp的產生背景,現在本章進入實操,使用idea建立一個簡單的servlet。
一、環境說明
1.1開發環境
名稱 |
版本 |
安裝方式 |
備註 |
系統 |
win10 |
- |
64位,旗艦版 |
jdk |
14.0.1 |
exe |
java開發工具目前最高最新版本 |
idea |
2020.1 |
exe |
java最著名的ide工具 |
具體安裝見:《hualinux java 1.5:java開發工具idea 2020安裝及配置》
1.2 tomcat下載
要用到servlet需要用到servlet容器,我這裏使用的是tomcat免費開源的,點擊進入tomcat下載頁面,我這裏使用的是tomcat9,目前最新版本爲9.0.36,我這裏是win 64位,所以下載的是64位的zip包,如下圖
我把apache-tomcat-9.0.36-windows-x64.zip複製到D:\Program Files目錄下並解壓重命令爲tomcat-9.0.36,如下圖所示:
PS:解壓就行了,不要自作聰明運行tomcat,等下需要在idea配置tomcat,idea會自動運行tomcat的,不需要你運行
二、建立servlet項目
2.1 創建servlet項目
如果你之前有建立過項目的話,先關閉項目(File-->Close Project),會到如下界面:
2.2 修改tomcat
修改一下tomcat,指定一下瀏覽器和編碼,操作如下:
修改我修改爲tomcat9.0,瀏覽器也修改一下
爲了防止亂碼,我在vm選項指定UTF-8
VM Optons:-Dfile.encoding=UTF-8
如:上面有一個歎號的Warning的警告,則需要配置一下Deployment,如下圖所示:
2.3 添加tomcat lib庫
2.3.1添加lib和classes目錄(可選)
在WEB-INF目錄下面建立兩個目錄一個是lib一個是classes
lib目錄主要是存放庫文件,現在沒有不用理它,將來用到再配置。
class目錄主要是看class(calss輸出文件的目錄,不配置默認輸出out目錄)
2.3.2 查看項目結構“Project Structure”
查看一下是否idea自動添加了Tomcat包
如果沒有自動添加,則需要手工按如下操作添加,如果有則不用手工添加
三、建立一個簡單的servlet
3.1 編寫代碼
1)在項目中的src右擊-->new-->Create New Servlet
2)在doGet中添加如下代碼
response.setContentType("text/html;charset=utf-8");
response.setCharacterEncoding("utf-8");
PrintWriter out=response.getWriter();
java.util.Date today=new java.util.Date();
out.println("<body>hello servlet</body><br>"+ today);
發現有些變紅色,是因爲沒有導入相關類
PS:是在doGet下添加,不要在doPost添加
doGet:表示處理get請求,瀏覽器輸入回車就是get請求,如要post需要用HTML編寫表單指點是post也行的
doPost:表示處理post請求
3.2 配置web.xml
打開WEB-INF下的web.xml,在<web-app>標籤中間添加如下的<servlet>標籤
<servlet>
<servlet-name>test</servlet-name>
<servlet-class>Hello</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
上面的配置就是配置路由及映射,表示訪問/hello路徑找Hello.java類處理這個路徑。
注:上面中
- <servlet-name>名字servlet的標記名,這個可以隨便起
- <servlet-class>爲servlet所在的類名,我這裏是Hello,所以寫Hello
- <url-pattern>爲訪問的url路徑,我這裏是/hello,卻爲“ip:8080/hello”或“域名:8080/hello”
3.3 測試
3.3.1 測試servlet是否正常顯示
web目錄下會有一個index.jsp,這個是主目錄文件,可以看一下里機是什麼內容
上面已經配置好tomcat了,運行tomcat,點工具欄中綠色小三角,如下圖:
發現idea正下面自動幫運行tomcat了,如下圖所示:
發現產生亂碼解決方法見《hualinux servlet 2.7:IDEA 2020.1 x64 控制檯日誌亂碼問題》
一會會自動彈出瀏覽器,我的是火狐,自動打開主頁內容,如下:
剛纔還記得我們配置了一下servet的嗎,訪問路徑是/hello,所以訪問路徑爲
IP:端口/hello
又因爲idea在配置tomcat時把根目錄改爲 myservlet_war_exploded/,所以得有myservlet_war_exploded/加hello,即
直接在尾部加hello就行了
3.3.2 測試一下中文是否亂碼
我在Hello.java的servet中指點下utf-8編碼,現在我把hello servet改爲 你好 servlet看一下是否中文亂碼
再次運行一下tomcat看一下效果,在彈出的瀏覽器尾部輸入hello看一下,效果如下: