实现一个简单的Java Web应用程序来管理任务列表
在这篇文章中,我们将讨论如何使用Java来创建一个简单的Web应用程序,用于管理和跟踪任务列表。这个应用程序将允许用户添加、删除和查看任务。我们将使用Java Servlets和JSP(JavaServer Pages)来实现这一功能。
功能需求
- 添加任务:用户可以输入任务名称并将其添加到任务列表中。
- 删除任务:用户可以从任务列表中选择并删除任务。
- 查看任务列表:用户可以查看当前的任务列表。
解决方案设计
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来管理任务列表。这个项目可以进一步扩展,如添加用户身份验证、持久化数据到数据库等。