待办清单项目3:创建Service层和Controller层代码
4/17/2025
85 阅读
创建Service层代码
- 首先创建Service层的接口,在com包上单击鼠标右键,选择新建软件包,取名为
service
-
在
service
软包上单击鼠标右键,选择新建Java类,然后在弹出的对话框中设置名字为SysUserService
,然后点一下接口,最后敲一下回车键- 类似的,创建一个
SysTodoService
接口文件,如下图所示
- 类似的,创建一个
-
接下来创建服务层的实现代码,首先在service包上单击右键,再新建一个软件包
- 取名为
impl
- 在刚创建的impl包上单击鼠标右键,新建Java类
- 创建如下图所示的两个类
SysUserServiceImpl
和SysTodoServiceImpl
SysUserServiceImpl
的代码如下:
package com.youngshu.todolist.service.impl;
import com.youngshu.todolist.service.SysUserService;
/**
* 实现用户服务接口
*/
public class SysUserServiceImpl implements SysUserService {
// TODO: 实现用户服务接口
}
SysTodoServiceImpl
的代码如下:
package com.youngshu.todolist.service.impl;
import com.youngshu.todolist.service.SysTodoService;
/**
* 实现待办事项接口
*/
public class SysTodoServiceImpl implements SysTodoService {
// TODO: 待办事项接口实现
}
创建Controller层代码
- 在com包上单击右键,新建软件包,取名为controller
-
在controller包上新建Java类,取名为
SysUserController
- 类似的再创建一个
SysTodoController
和一个BaseController
BaseController
的代码如下:
package com.youngshu.todolist.controller;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.lang.reflect.Method;
public class BaseController extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//判断此次请求时 增?删?改?查?
String requestURI = req.getRequestURI(); // 获取请求路径
String[] split = requestURI.split("/"); // 切割请求路径
String methodName = split[split.length - 1]; // 获取请求方法名
// 使用反射 通过方法名获取下面的方法
Class aClass = this.getClass();
// 获取方法
try {
Method declaredMethod = aClass.getDeclaredMethod(methodName, HttpServletRequest.class, HttpServletResponse.class);
//暴力 破解方法的访问修饰符的限制
declaredMethod.setAccessible(true);
// 执行方法
declaredMethod.invoke(this, req, resp);
} catch (Exception e) {
e.printStackTrace();
}
}
}
SysUserController
的代码如下:
package com.youngshu.todolist.controller;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
// 该类处理用户相关的请求
@WebServlet("/user/*")
public class SysUserController extends BaseController{
// 添加用户的处理方法
protected void add(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("add user");
}
// 删除用户的处理方法
protected void delete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("delete user");
}
// 编辑用户的处理方法
protected void edit(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("edit user");
}
// 列出用户的处理方法
protected void list(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("list user");
}
}
SysTodoController
的代码如下:
package com.youngshu.todolist.controller;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
// 处理与待办事项相关的HTTP请求
@WebServlet("/todo/*")
public class SysTodoController extends BaseController {
// 添加新的待办事项
protected void add(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("add todo");
}
// 删除指定的待办事项
protected void delete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("delete todo");
}
// 编辑指定的待办事项
protected void edit(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("edit todo");
}
// 列出所有的待办事项
protected void list(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("list todo");
}
}
测试Controller代码
- 打开Tomcat服务器的编辑配置,然后点击【部署】,再点击加号里面的工件,选择
TodoList:war exploded
,然后在应用程序上下文里面写上/TodoList
- 点击【服务器】,然后把URL改成下面这样,再点确定
- 点击调试按钮开始调试项目
- 在弹出的浏览器地址栏输入
http://localhost:8080/TodoList/user/add
并回车,可以看到软件后台输出了add user字样,说明SysUserController
成功的解析了浏览器的访问路径,并运行了添加用户的处理方法
- 类似的,请测试一下
SysUserController
里面的其他方法是否可以被执行,并测试一下SysTodoController
里面的方法是否同样可以成功执行。
评论 (0)
暂无评论,来发表第一条评论吧!