1.用IDEA新建Java WEB項目並配置Tomcat
這一部分可以參考之前的一篇隨筆
https://www.cnblogs.com/lbhym/p/11496610.html
2.導入Servlet的jar包和新建classes文件夾
在File--->Project Structure----->Modules------>Dependencies
點擊+號,選擇JARs....。然后選擇servlet的jar包所在位置,一般在tomcat路勁下的lib文件夾里。
導入之后再在WEB-INF文件夾下新建一個名叫classes的文件夾,這是servlet類編譯后文件生成的地方,但是IDEA默認下沒有這個文件夾的,所以需要手動設置一下輸出的路徑。
在File--->Project Structure----->Modules------>Paths
選擇Use module.....,然后在Output path 和Test output path路徑里面選擇classes文件夾。
3.編寫Servlet類並建立與JSP頁面的對應關系
大家都知道Servlet只是一個Java類。以我的理解JSP就類似.NET里面的Razor,可以在前端里面寫Java或C#。Servlet就像控制器類一樣,接收前端傳過來的數據,然后進行處理。
在src下新建一個類。叫LoginServlet。
如下,暫時沒用到數據庫,只是在本地做個簡單的判斷,並返回信息。
import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class LoginServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String name = request.getParameter("name"); String password = request.getParameter("password"); String html = null; if ("admin".equals(name) && "123".equals(password)) html = "<div style='color:green'>success</div>"; else html = "<div style='color:red'>fail</div>"; PrintWriter pw = response.getWriter(); pw.println(html); } }
在index.jsp文件里面,寫幾個登錄控件。
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>$Title$</title> </head> <body> <form action="login" method="post"> 賬號: <input type="text" name="name"> <br> 密碼: <input type="password" name="password"> <br> <input type="submit" value="登錄"> </form> </body> </html>
到這里,頁面和類是毫無關聯的,需要在web.xml里面對應關系
<?xml version="1.0" encoding="UTF-8"?> <web-app> <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping> </web-app>
如果有其他頁面和其他類,需要再寫一對<servlet>和<servlet-mapping>。注意,兩個servlet-name必須一樣。url-pattern就是前端訪問的action
整個過程大概是:前端訪問action,然后在web.xml會根據同名的url-pattern去訪問對應的servlet類,servlet類里面做完相應的處理后,再返回內容到頁面上。
4.運行項目
如果輸入admin和123會返回綠色的成功,否則就是紅色的失敗。