在java web開發中,servlet是服務器端的java應用程序,可以接收客戶端請求並作出相應的迴應。
要建立servlet應用程序,首先要安裝tomcat,tomcat的安裝網上教程很多,大家可以自行搜索,這裏推薦一篇Tomcat7的安裝教程
tomcat安裝成功後,在其安裝路徑下,有webapps文件夾,專門用來發布web項目,每個項目需要在webapps下單獨建立一個文件夾,我們下載建立一個test_servlet文件夾,在該文件夾下建立一個WEB-INF文件夾,在WEB-INF下建立classes和lib文件夾,並添加一個web.xml文件。
目錄建立好了,接下來首先建立login.html文件,該文件實現了簡單的登錄功能
<html>
<head>
<title>實現servlet登錄響應</title>
</head>
<body>
<!--action爲html表單要提交到的服務器端程序地址,login爲web.xml配置的servlet的url-pattern,是相對url,也可以寫成絕對url:http://127.0.0.1:8080/test_servlet/login-->
<form action="login">
<div align="center" >
用戶名:<input type="text" name="username" /><br />
密 碼:<input type="password" name="userpwd" /><br />
<input type="submit" name="btnLogin" value="登錄" />
<input type="reset" name="btnReset" value="重置" />
</div>
</form>
</body>
</html>
寫好後把html文件拷貝到test_servlet文件夾下,然後建立servlet,servlet是一個java類,因此我們建立名叫LoginServlet.java的類,代碼如下:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
//該類要實現HttpServlet接口,並添加上面的引用
public class LoginServlet extends HttpServlet{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException,
IOException{
//獲得客戶端表單中的用戶名和密碼,根據表單控件的name屬性獲取
String username=request.getParameter("username");
String password=request.getParameter("userpwd");
System.out.println("用戶名是"+username);
System.out.println("密碼是"+password);
//打印到html頁,並返回客戶端
response.setContentType("text/html");
response.getWriter().println("Login Success!!!");
}
}
建立好該類後,進行編譯,將編譯後的文件放到test_servlet文件加下的classes文件夾中。
至此,代碼寫的差不多了。我們寫的html文件,作爲客戶端,發出請求後,怎麼訪問tomcat服務器上的servlet程序呢?是通過web.xml映射訪問的,看下web.xml文件中的代碼
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app 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_3_0.xsd"
version="3.0">
<!--該節點爲servlet類添加一個name-->
<servlet>
<servlet-name>Myservlet</servlet-name>
<servlet-class>LoginServlet</servlet-class>
</servlet>
<!--該節點把name和servlet的虛擬路徑做對應,客戶端表單的action路徑爲url-pattern對應的路徑-->
<servlet-mapping>
<servlet-name>Myservlet</servlet-name>
<!--servlet的虛擬路徑,實現了和servlet類文件的映射,實現了java web的目錄安全,因爲客戶端不直接訪問類文件,而是訪問虛擬路徑-->
<url-pattern>/login</url-pattern>
</servlet-mapping>
</web-app>
到此,可以啓動tomcat了,運行tomcat目錄裏的bin文件夾下的startup.bat文件,然後輸入http://127.0.0.1:8080/test_servlet/login.html(注意url區分大小寫,如果是大小寫有誤會出現404),就可以訪問頁面了,填寫用戶名和密碼後,服務器會返回LoginSuccess!