用动态web工程建一个Maven项目

Maven搭建动态Web项目
本文详细介绍如何在Eclipse IDE中使用Maven快速创建并配置动态Web项目,包括项目结构设置、转换为Maven项目及生成Eclipse配置。
(原文链接: http://fruzenshtein.com/setup-of-dynamic-web-project-using-maven/)

Maven是一个很有力的工具,如果你知道如何使用它,你会取得最大的效果最小的努力。在一般的Maven可以帮助您管理包括库的依赖,建设进程等项目......但在文章中,我要告诉你的方法之一了如何创建一个动态Web项目使用Maven(在Eclipse IDE)。

预先要求:
     使用Eclipse IDE工具的Java EE的开发人员
     eclipse的M2E插件
     Maven
1,文件>新建(ALT + SHIFT + N)>动态Web项目
     *  输入部分名称,在“项目名称”字段(如mavenDWP)项目;
     *  选择一些“目标运行时”(我使用的Apache Tomcat 7.0);
     *  点击“下一步”按钮;
     *  创建以下目录结构(请注意目录结构它是在创建动态Web项目的一个重要的细节。):
        
     *  点击“下一步”按钮;
     *  选择“生成web.xml部署描述符”复选框;
     *  点击“完成”按钮。
        
2,右键单击项目>配置>转换为Maven项目
     *  选择“打包”成一个WAR;
     *  点击“完成”按钮;
     *  在此之后,pom.xml中会出现在项目的结构;
     *  将所有的东西从WebContent文件夹为src /主/ web应用;
     *  WebContent文件夹可以之后被删除。
3,在文件系统中打开该项目的根文件夹
     *  执行下列命令:命令mvn日食:日食Dwtpversion = 2.0
     *  此命令将生成一个Eclipse的配置(。classpath中。项目等)。
     *  展开SRC>主并作出右键点击web应用文件夹:构建路径>使用作为源文件夹(这点是实际只在src /主/ web应用从源文件夹中消失)。

下面是配置了Maven的动态Web项目的最终视图:
     

下面是一个完整的示例,演示如何在 **IntelliJ IDEA** 里创一个 **Maven Web 项目**,并使用 **Servlet + JSP + MySQL** 实现一个简单的登录页面。 --- ## **1. 创 Maven Web 项目** 1. **File → New → Project** - 选择 **Maven** → **Create from archetype** → `maven-archetype-webapp` - 填写 `GroupId` `ArtifactId`,点击 **Finish** 2. **配置 `pom.xml`(添加依赖)** ```xml <dependencies> <!-- Servlet API --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> <!-- JSP API --> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <version>2.3.3</version> <scope>provided</scope> </dependency> <!-- MySQL JDBC 驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.33</version> </dependency> <!-- JSTL(可选,用于简化 JSP 逻辑) --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> </dependencies> ``` --- ## **2. 创 MySQL 数据库** 1. **登录 MySQL**: ```sql CREATE DATABASE login_demo; USE login_demo; CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL ); INSERT INTO users (username, password) VALUES ('admin', '123456'); ``` --- ## **3. 编写代码** ### **(1) `index.jsp`(登录页面)** ```jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>登录</title> </head> <body> <h1>用户登录</h1> <form action="login" method="post"> 用户名:<input type="text" name="username"><br> 密码:<input type="password" name="password"><br> <input type="submit" value="登录"> </form> </body> </html> ``` ### **(2) `LoginServlet.java`(处理登录逻辑)** ```java package com.example; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.*; import java.io.IOException; import java.sql.*; @WebServlet("/login") 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 { Class.forName("com.mysql.cj.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/login_demo"; String dbUser = "root"; String dbPassword = "your_mysql_password"; try (Connection conn = DriverManager.getConnection(url, dbUser, dbPassword)) { String sql = "SELECT * FROM users WHERE username=? AND password=?"; try (PreparedStatement stmt = conn.prepareStatement(sql)) { stmt.setString(1, username); stmt.setString(2, password); ResultSet rs = stmt.executeQuery(); if (rs.next()) { response.getWriter().println("登录成功!欢迎 " + username); } else { response.getWriter().println("用户名或密码错误!"); } } } } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); response.getWriter().println("数据库连接失败!"); } } } ``` --- ## **4. 配置 `web.xml`(可选,如果使用注解 `@WebServlet` 可跳过)** ```xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app> ``` --- ## **5. 运行项目** 1. **配置 Tomcat**: - **Run → Edit Configurations** → **Add Tomcat Server** - 部署 WAR 包(确保 `index.jsp` 是欢迎页) 2. **访问 `http://localhost:8080/`** - 输入用户名 `admin` 密码 `123456` 测试登录 --- ## **6. 效果** - **成功登录**: ``` 登录成功!欢迎 admin ``` - **失败登录**: ``` 用户名或密码错误! ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值