IDEA+JSP+Servlet+Tomcat簡單的登錄示例


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會返回綠色的成功,否則就是紅色的失敗。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM