今天在沒有使用IDE的情況下部署了Servlet,在這裏記錄下過程,及遇到的問題。
java環境配置就不說了,tomcat是自己用源碼編譯後的,是爲了可以順便學習tomcat。
首先是創建工程結構,我創建的目錄(我這個是憑感覺,記得有本輕量級web中有過比較專業的介紹)如下:
src下放java源碼;WebContent下放web相關,包括Servlet編譯後的class文件;work中放的是jsp頁面生成的Servlet文件;
WebContent下有兩個文件:static和WEB-INF,static中放置靜態資源文件(html、jsp);
WEB-INF下目錄:
classes用來放class文件,lib用來放需要的jar包,web.xml用來描述web項目。
servlet項目初步完成,忙活半天需要看到點陽光,我們來部署到tomcat上看看效果,爲了驗證,先在static下放置一個test.html。
tomcat上部署的方式:在tomcat下的conf文件下的Catalina/localhost/(沒有這些文件夾的可以自己創建)下創建一個test.xml,內容如下:
docBase指的就是你的工程,workDir指的是jsp解析後生成的Servlet文件,這裏的path其實不起作用,訪問路徑是根據這個xml文件名來決定的。
部署好後通過訪問 localhost:8080/test/static/test.html 就可以訪問到靜態資源了(如果沒成功可以留言哈~~)。
下面就要開始今天的主題了,部署servlet。
首先在src目錄下創建servlet類,如圖:
該servlet就是簡單的實現了登錄功能。下面編譯java文件,在命令行下找到src目錄,執行命令:
javac -cp E:\webWorkspace\SalarySYS\WebContent\WEB-INF\lib\servlet.jar com\ai\action\BaseAction.java -d E:\webWorkspace\SalarySYS\WebContent\WEB-INF\classes
javac用來編譯java文件;-cp用來加載引用的包;E:\webWorkspace\SalarySYS\WebContent\WEB-INF\lib\servlet.jar是java文件中需要的包;com\ai\action\BaseAction.java是剛剛創建的java文件;-d是將編譯好的class放到指定目錄下;E:\webWorkspace\SalarySYS\WebContent\WEB-INF\classes class文件放置的位置;
編譯成功後可以在E:\webWorkspace\SalarySYS\WebContent\WEB-INF\classes下看到編譯好的class文件(包括包路徑)。
然後在web.xml文件中聲明這個servlet:
創建一個簡單的表單提交文件:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>login</title>
</head>
<body>
<form action="/test/test.do" method="post">
name:
<input type="text" name="name">
<br>
passwd:
<input type="password" name="passwd">
<br>
<input type="submit" name="submit" value="submit">
</form>
</body>
</html>
最後啓動tomcat,訪問表單文件login.jsp,填寫用戶名密碼,點擊提交就會跳轉到servlet中;
後續繼續學習servlet和tomcat~.~