以下是使用 intellij idea 创建几个简单的 java web 项目的步骤,每个项目实现基本的登录、注册和查看列表功能,依赖 servlet/jsp 和基本的 java web 开发。
前置准备
- 确保安装了 intellij idea ultimate(社区版不支持 web 应用)。
- 确保安装了 jdk 8 或以上版本。
- 下载并配置 tomcat 服务器(确保 idea 中已配置 tomcat)。
- 创建 mysql 数据库,并准备对应表结构。
项目功能实现步骤
1. 创建项目
- 打开 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. 项目文件结构
创建后的项目基本结构如下:
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. 创建数据库和表
使用 mysql 创建一个简单的 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. 实现功能
1. 数据库连接工具类
在 com.example.controller 包中创建 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 包中创建 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 包中创建 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 包中创建 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。 - 测试注册、登录和查看用户列表功能。
这样就可以实现一个基础的 java web 应用。如果有更多需求,可以继续扩展!
总结
到此这篇关于使用intellij idea创建简单的java web项目的文章就介绍到这了,更多相关idea创建java web项目内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论