前一段時間寫了一個應用,裏面需要用戶的登錄註冊。由於以前沒有涉及過這方面的知識,所以走了很多彎路。花了好幾天才完成了用戶的登錄。犯錯的原因一是對於工程的目錄結構不瞭解,而是對於各個部分的作用不了解。這周我們老師剛好講到web服務器的搭建,聽完他說得才知道以前自己搭建的那一個是多麼爛。
好了,開始正題:
(一):工程的創建
首先打開eclipse,如圖所示,創建一個動態的web工程
選擇Tomcat的版本,以及設置Tomcat所在路徑(如果Tomcat之前沒有安裝,請先完成安裝與配置再往下進行,我下載的是第九版,第八版要更穩定一些,如果還沒有下載,建議選擇第八版)
點擊finish,然後我們來到下面這個界面
一直點擊next直到這個界面,在這個界面裏,我們勾選上生成web.xml
文件的複選框。
到這裏,我們已經完成工程的創建了。
(二):編寫login.html文件
首先在WebContent目錄下新建一個文件,命名爲login.html,下面是login.html的代碼,不會html的直接複製就好了。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>用戶登錄</title>
<style type="text/css">
dd,dt{
margin:0;
}
</style>
</head>
<body>
<div id="login" style="margin:300px auto auto auto;width:300px;border: 3px solid red" >
<form id="form1" name="form1" method="post" action=""><!-- 先空着action,後面我們需要填寫對應的servlet-->
<dl>
<dt style="text-align: center;margin-bottom: 15px;" >用戶登錄</dt>
<dd style="text-align: center;margin-bottom: 10px;"><input type="text" name="userName" placeholder="請輸入用戶名" required="required" autofocus="autofocus" class="input-size" /></dd>
<dd style="text-align: center;"><input type="password" name="password" placeholder="請輸入密碼" required="required" class="input-size" /></dd>
<dd></dd>
<dd style="text-align: center;margin-top: 15px;"><input type="submit" value="登 錄" class="btn-submit" /></dd>
</dl>
</form>
</div>
</body>
</html>
下面是login.html的效果圖
(三):創建servlet
創建servlet需要下載servlet-api.jar包,下面是資源的下載鏈接,解壓之後,我們把jar文件拷到WebContent目錄下的lib文件夾,或者添加到編譯路徑裏面。
點擊下載
在java Resource新建一個servlet,命名爲LoginServlet
package com.xue.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/LoginServlet")//不要更改
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("name" + request.getParameter("userName"));//這裏填寫的是我們在html文件裏面寫的名字
}
}
這個servlet只是把我們輸入的用戶名在控制檯打印出來。
在login.html中,我們開始沒有填寫action的值,現在把它填寫上我們:LoginServlet
填寫的這個字段是從servlet裏面得到的
(四):更改web.xml裏面的內容,把歡迎文件列表改爲我們的login.html
如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>ServletDemo</display-name>
<welcome-file-list>
<welcome-file>login.html</welcome-file>
</welcome-file-list>
</web-app>
到這裏我們的最初的服務器大致搭建完成,運行程序啓動服務器,打開瀏覽器輸入對應的url,
可以直接從自己的程序裏面複製鏈接(我把端口號更改爲了9594,原本是8080)
在瀏覽器中顯示如圖:
點擊登錄,查看eclipse的控制檯輸出內容:
我們可以看到用戶名已經被打印出來了。
補充:最初學習的時候,總是不清楚工程的目錄結構,下面我把自己的工程目錄結構貼出來
這是我們搭建服務器的最基礎的版本,後面將會具體再添加其他內容。