使用IntelliJ?IDEA創(chuàng)建簡單的Java?Web項目完整步驟
以下是使用 IntelliJ IDEA 創(chuàng)建幾個簡單的 Java Web 項目的步驟,每個項目實現(xiàn)基本的登錄、注冊和查看列表功能,依賴 Servlet/JSP 和基本的 Java Web 開發(fā)。
前置準備
- 確保安裝了 IntelliJ IDEA Ultimate(社區(qū)版不支持 Web 應用)。
- 確保安裝了 JDK 8 或以上版本。
- 下載并配置 Tomcat 服務器(確保 IDEA 中已配置 Tomcat)。
- 創(chuàng)建 MySQL 數(shù)據(jù)庫,并準備對應表結構。
項目功能實現(xiàn)步驟
1. 創(chuàng)建項目
- 打開 IntelliJ IDEA,點擊 File -> New -> Project。
- 在左側選擇 Java Enterprise,在右側配置:
- 勾選 Web Application。
- 勾選 Java(選擇對應的 JDK)。
- 點擊 Next。
- 輸入項目名稱(如
SimpleLoginApp
),選擇項目位置。 - 勾選 Create Web.xml 生成標準的 Web 項目結構。
- 點擊 Finish。
2. 配置 Tomcat
- 點擊頂部菜單的 Run -> Edit Configurations。
- 點擊左上角的
+
,選擇 Tomcat Server -> Local。 - 配置 Tomcat:
- 填寫
Name
,如Tomcat-SimpleLoginApp
。 - 在 Application Server 中選擇 Tomcat(點擊 Configure 指向本地的 Tomcat 安裝目錄)。
- 在 Deployment 選項卡中,點擊
+
,選擇 Add Artifact,并添加項目的 WAR 包。
- 填寫
- 點擊 Apply -> OK。
3. 項目文件結構
創(chuàng)建后的項目基本結構如下:
SimpleLoginApp/ ├── src/main/java/ │ └── com.example.controller/ │ ├── LoginServlet.java │ ├── RegisterServlet.java │ ├── UserListServlet.java │ └── DatabaseConnection.java ├── src/main/resources/ ├── src/main/webapp/ │ ├── WEB-INF/ │ │ ├── web.xml │ ├── index.jsp │ ├── login.jsp │ ├── register.jsp │ └── userlist.jsp
4. 創(chuàng)建數(shù)據(jù)庫和表
使用 MySQL 創(chuàng)建一個簡單的 user
表,用于存儲用戶名、密碼等信息。
CREATE DATABASE simple_login_app; USE simple_login_app; CREATE TABLE user ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL UNIQUE, password VARCHAR(255) NOT NULL, email VARCHAR(100), gender ENUM('male', 'female', 'other'), birthday DATE );
5. 實現(xiàn)功能
1. 數(shù)據(jù)庫連接工具類
在 com.example.controller
包中創(chuàng)建 DatabaseConnection.java
:
package com.example.controller; import java.sql.Connection; import java.sql.DriverManager; public class DatabaseConnection { private static final String URL = "jdbc:mysql://localhost:3306/simple_login_app"; private static final String USER = "root"; private static final String PASSWORD = "your_password"; public static Connection getConnection() throws Exception { Class.forName("com.mysql.cj.jdbc.Driver"); return DriverManager.getConnection(URL, USER, PASSWORD); } }
2. 登錄功能
在 com.example.controller
包中創(chuàng)建 LoginServlet.java
:
package com.example.controller; import javax.servlet.*; import javax.servlet.http.*; import java.io.IOException; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; public class LoginServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); String password = request.getParameter("password"); try (Connection conn = DatabaseConnection.getConnection()) { String query = "SELECT * FROM user WHERE username = ? AND password = ?"; PreparedStatement stmt = conn.prepareStatement(query); stmt.setString(1, username); stmt.setString(2, password); ResultSet rs = stmt.executeQuery(); if (rs.next()) { request.getSession().setAttribute("username", username); response.sendRedirect("userlist.jsp"); } else { response.getWriter().println("<h3>Invalid username or password</h3>"); } } catch (Exception e) { e.printStackTrace(); } } }
3. 注冊功能
在 com.example.controller
包中創(chuàng)建 RegisterServlet.java
:
package com.example.controller; import javax.servlet.*; import javax.servlet.http.*; import java.io.IOException; import java.sql.Connection; import java.sql.PreparedStatement; public class RegisterServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); String password = request.getParameter("password"); String email = request.getParameter("email"); String gender = request.getParameter("gender"); String birthday = request.getParameter("birthday"); try (Connection conn = DatabaseConnection.getConnection()) { String query = "INSERT INTO user (username, password, email, gender, birthday) VALUES (?, ?, ?, ?, ?)"; PreparedStatement stmt = conn.prepareStatement(query); stmt.setString(1, username); stmt.setString(2, password); stmt.setString(3, email); stmt.setString(4, gender); stmt.setString(5, birthday); stmt.executeUpdate(); response.sendRedirect("login.jsp"); } catch (Exception e) { e.printStackTrace(); } } }
4. 查看用戶列表功能
在 com.example.controller
包中創(chuàng)建 UserListServlet.java
:
package com.example.controller; import javax.servlet.*; import javax.servlet.http.*; import java.io.IOException; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; public class UserListServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try (Connection conn = DatabaseConnection.getConnection()) { String query = "SELECT * FROM user"; PreparedStatement stmt = conn.prepareStatement(query); ResultSet rs = stmt.executeQuery(); request.setAttribute("users", rs); RequestDispatcher dispatcher = request.getRequestDispatcher("userlist.jsp"); dispatcher.forward(request, response); } catch (Exception e) { e.printStackTrace(); } } }
5. JSP 頁面
- 登錄頁面
login.jsp
:
<form action="LoginServlet" method="post"> 用戶名: <input type="text" name="username" required><br> 密碼: <input type="password" name="password" required><br> <button type="submit">登錄</button> </form>
- 注冊頁面
register.jsp
:
<form action="RegisterServlet" method="post"> 用戶名: <input type="text" name="username" required><br> 密碼: <input type="password" name="password" required><br> 郵箱: <input type="email" name="email"><br> 性別: <select name="gender"> <option value="male">男</option> <option value="female">女</option> <option value="other">其他</option> </select><br> 生日: <input type="date" name="birthday"><br> <button type="submit">注冊</button> </form>
- 用戶列表頁面
userlist.jsp
:
<%@ page import="java.sql.ResultSet" %> <% ResultSet rs = (ResultSet) request.getAttribute("users"); %> <table border="1"> <tr> <th>用戶名</th> <th>郵箱</th> <th>性別</th> <th>生日</th> </tr> <% while (rs.next()) { %> <tr> <td><%= rs.getString("username") %></td> <td><%= rs.getString("email") %></td> <td><%= rs.getString("gender") %></td> <td><%= rs.getDate("birthday") %></td> </tr> <% } %> </table>
6. 配置 web.xml
<web-app> <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>com.example.controller.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/LoginServlet</url-pattern> </servlet-mapping> <servlet> <servlet-name>RegisterServlet</servlet-name> <servlet-class>com.example.controller.RegisterServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>RegisterServlet</servlet-name> <url-pattern>/RegisterServlet</url-pattern> </servlet-mapping> <servlet> <servlet-name>UserListServlet</servlet-name> <servlet-class>com.example.controller.UserListServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>UserListServlet</servlet-name> <url-pattern>/UserListServlet</url-pattern> </servlet-mapping> </web-app>
啟動項目
- 運行 Tomcat 服務器。
- 打開瀏覽器訪問登錄頁面:
http://localhost:8080/SimpleLoginApp/login.jsp
。 - 測試注冊、登錄和查看用戶列表功能。
這樣就可以實現(xiàn)一個基礎的 Java Web 應用。如果有更多需求,可以繼續(xù)擴展!
總結
到此這篇關于使用IntelliJ IDEA創(chuàng)建簡單的Java Web項目的文章就介紹到這了,更多相關IDEA創(chuàng)建Java Web項目內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
springboot集成本地緩存Caffeine的三種使用方式(小結)
本文主要介紹了springboot集成本地緩存Caffeine的三種使用方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-06-06SpringBoot-Mail工具實現(xiàn)郵箱驗證碼登錄注冊功能
現(xiàn)在許多pc程序都有著使用郵箱驗證碼實現(xiàn)登錄注冊的功能,那么我們應該如何完成郵箱驗證碼功能呢,我們可以使用springboot內(nèi)置的springboot-mail再結合redis來完成這個功能,感興趣的朋友跟隨小編一起看看吧2024-07-07Windows系統(tǒng)下Eclipse搭建ESP32編譯環(huán)境及安裝過程
Ecppse 使用了 ESP-IDF 中的 Makefile 支持。這意味著您需要從創(chuàng)建 ESP-IDF 項目開始。您可以使用 github 中的 idf-template 項目,接下來通過本文給大家介紹Windows系統(tǒng)下Eclipse搭建ESP32編譯環(huán)境及安裝過程,感興趣的朋友一起看看吧2021-10-10