Java SE EE简介及使用示例

1. Java SE EE简介

Java SE EE是指Java Platform, Standard Edition, Enterprise Edition的缩写,是一种基于Java语言的平台,用于开发企业级应用程序。它提供了一系列的API和工具,用于开发、部署和管理大规模、可靠、安全的企业应用。

Java SE EE包含了一系列的规范和技术,如Servlet、JSP、JavaBeans、Web服务、RMI等,这些技术可以帮助开发人员构建强大、高效、可扩展的企业级应用程序。Java SE EE还提供了一套标准的容器,用于部署和执行这些应用程序。

Java SE EE是建立在Java SE基础之上的,所以它继承了Java SE的所有功能和特性,同时还提供了更多专门用于企业级开发的扩展和功能。

2. Java SE EE示例

下面我们通过一个简单的示例来演示Java SE EE的使用。假设我们需要开发一个简单的用户管理系统,实现用户的添加、查询和删除功能。

2.1 数据库设计

首先,我们需要设计一个用户表来存储用户的信息。我们创建一个名为"users"的表,包含以下字段:

  • id: 用户ID
  • name: 用户名
  • email: 用户邮箱

2.2 创建Java SE EE项目

首先,我们需要创建一个Java SE EE项目。在命令行中执行以下命令:

mvn archetype:generate -DgroupId=com.example -DartifactId=user-management -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

这条命令会创建一个名为"user-management"的Java SE EE项目,并使用Maven作为构建工具。

2.3 创建用户实体类

在src/main/java/com/example目录下,创建一个名为User的Java类,表示用户实体。代码如下:

public class User {
    private int id;
    private String name;
    private String email;

    public User(int id, String name, String email) {
        this.id = id;
        this.name = name;
        this.email = email;
    }

    // 省略getter和setter方法
}

2.4 创建用户DAO类

接下来,我们创建一个名为UserDAO的Java类,用于操作用户表。代码如下:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class UserDAO {
    private Connection connection;

    public UserDAO() {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "password");
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        }
    }

    public void addUser(User user) {
        try {
            PreparedStatement statement = connection.prepareStatement("INSERT INTO users (id, name, email) VALUES (?, ?, ?)");
            statement.setInt(1, user.getId());
            statement.setString(2, user.getName());
            statement.setString(3, user.getEmail());
            statement.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    
    public List<User> getUsers() {
        List<User> userList = new ArrayList<>();
        try {
            PreparedStatement statement = connection.prepareStatement("SELECT * FROM users");
            ResultSet resultSet = statement.executeQuery();
            while (resultSet.next()) {
                int id = resultSet.getInt("id");
                String name = resultSet.getString("name");
                String email = resultSet.getString("email");
                userList.add(new User(id, name, email));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return userList;
    }
    
    public void deleteUser(int id) {
        try {
            PreparedStatement statement = connection.prepareStatement("DELETE FROM users WHERE id = ?");
            statement.setInt(1, id);
            statement.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

2.5 创建用户管理Servlet

在src/main/java/com/example目录下,创建一个名为UserManagementServlet的Java类,用于处理用户管理的请求。代码如下:

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

public class UserManagementServlet extends HttpServlet {
    private UserDAO userDAO;

    public UserManagementServlet() {
        userDAO = new UserDAO();
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException