Java任务管理Web应用程序

实现一个简单的Java Web应用程序来管理任务列表

在这篇文章中,我们将讨论如何使用Java来创建一个简单的Web应用程序,用于管理和跟踪任务列表。这个应用程序将允许用户添加、删除和查看任务。我们将使用Java Servlets和JSP(JavaServer Pages)来实现这一功能。

功能需求

  1. 添加任务:用户可以输入任务名称并将其添加到任务列表中。
  2. 删除任务:用户可以从任务列表中选择并删除任务。
  3. 查看任务列表:用户可以查看当前的任务列表。

解决方案设计

1. 项目结构

我们将使用Maven来管理项目依赖,并使用以下基本结构:

- src/main/java
  - com.example.todo
    - TaskServlet.java
    - Task.java
- src/main/webapp
  - WEB-INF
    - web.xml
  - index.jsp
  - addTask.jsp
  - viewTasks.jsp

2. 数据模型

创建一个简单的Task类来表示任务:

public class Task {
    private String name;

    public Task(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

3. Servlet实现

TaskServlet将处理任务的添加和删除:

@WebServlet("/tasks")
public class TaskServlet extends HttpServlet {
    private List<Task> tasks = new ArrayList<>();

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String action = request.getParameter("action");
        String taskName = request.getParameter("taskName");

        if ("add".equals(action) && taskName != null && !taskName.isEmpty()) {
            tasks.add(new Task(taskName));
        } else if ("delete".equals(action)) {
            tasks.removeIf(task -> task.getName().equals(taskName));
        }

        response.sendRedirect("viewTasks.jsp");
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setAttribute("tasks", tasks);
        RequestDispatcher dispatcher = request.getRequestDispatcher("viewTasks.jsp");
        dispatcher.forward(request, response);
    }
}

4. JSP页面

  • index.jsp:主页,提供导航到添加任务和查看任务页面。
<!DOCTYPE html>
<html>
<head>
    <title>Task Manager</title>
</head>
<body>
    <h1>Welcome to Task Manager</h1>
    <a href="addTask.jsp">Add Task</a> | <a href="tasks">View Tasks</a>
</body>
</html>
  • addTask.jsp:用于添加新任务的页面。
<!DOCTYPE html>
<html>
<head>
    <title>Add Task</title>
</head>
<body>
    <h1>Add Task</h1>
    <form action="tasks" method="post">
        <input type="text" name="taskName" placeholder="Enter task name" required>
        <input type="hidden" name="action" value="add">
        <button type="submit">Add Task</button>
    </form>
    <a href="index.jsp">Back to Home</a>
</body>
</html>
  • viewTasks.jsp:显示任务列表,并提供删除任务的功能。
<!DOCTYPE html>
<html>
<head>
    <title>View Tasks</title>
</head>
<body>
    <h1>Task List</h1>
    <ul>
        <% List<Task> tasks = (List<Task>) request.getAttribute("tasks");
           for (Task task : tasks) { %>
            <li>
                <%= task.getName() %>
                <form action="tasks" method="post" style="display:inline;">
                    <input type="hidden" name="taskName" value="<%= task.getName() %>">
                    <input type="hidden" name="action" value="delete">
                    <button type="submit">Delete</button>
                </form>
            </li>
        <% } %>
    </ul>
    <a href="index.jsp">Back to Home</a>
</body>
</html>

5. 部署和运行

将项目打包并部署到支持Servlet的Web服务器(如Apache Tomcat)。启动服务器后,您可以通过浏览器访问应用程序,添加、查看和删除任务。

通过这种方式,我们创建了一个简单的Java Web应用程序,展示了如何使用Servlet和JSP来管理任务列表。这个项目可以进一步扩展,如添加用户身份验证、持久化数据到数据库等。