01-thymeleaf分支渲染(了解)02-thymeleaf列表渲染(掌握)03-lombok插件引入(掌握)04-ModelbaseServlet类(掌握)05-ModelbaseServlet执行流程(掌握)
01-thymeleaf分支渲染(了解)
概述
使用th:swtich、th:case指令进行分支渲染
代码实现
@WebServlet("/demo01")
public class Demo01Servlet extends ViewbaseServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String role = "super";
request.setAttribute("role", role);
processTemplate("demo01", request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}
01-thymeleaf分支渲染
超级管理员
管理员
用户
02-thymeleaf列表渲染(掌握)
概述
使用th:each进行列表渲染,类似于vue中的v-for
代码实现
@WebServlet("/demo02")
public class Demo02Servlet extends ViewbaseServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List userList = new ArrayList<>();
userList.add(new User(1, "张三", "root"));
userList.add(new User(2, "李四", "admin"));
userList.add(new User(3, "王五", "12345"));
request.setAttribute("userList", userList);
processTemplate("demo02", request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}
02-thymeleaf列表渲染
| 状态 | 编号 | 姓名 | 密码 |
| 编号 | 姓名 | 密码 |
开发步骤
①idea安装lombok插件②idea允许注解运行③重启idea④引入lombok的jar包⑤使用lombok的注解
①idea安装lombok插件
②idea允许注解运行
③重启idea
④引入lombok的jar包
⑤使用lombok的注解
@NoArgsConstructor
@AllArgsConstructor
@Data
public class User {
private Integer userId;
private String userName;
private String userPwd;
}
jar包下载网址
Maven Repository: org.projectlombok » lombok » 1.18.22 (mvnrepository.com) 04-ModelbaseServlet类(掌握)
概述
原来,一个功能就是一个Servlet,这样就导致Servlet太多了,难以维护。
代码实现
04-ModelbaseServlet类
添加用户
删除用户
修改用户
查询用户
---------------------------------
添加用户
删除用户
修改用户
查询用户
public class ModelbaseServlet extends ViewbaseServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//①获取method
String methodName = req.getParameter("method");
try {
//②获取method对象
Method method = this.getClass().getMethod(methodName, HttpServletRequest.class, HttpServletResponse.class);
//③反射动态执行
method.invoke(this, req, resp);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
@WebServlet("/user")
public class UserServlet extends ModelbaseServlet {
public void addUser(HttpServletRequest request, HttpServletResponse response){
System.out.println("UserServlet addUser");
System.out.println("request = " + request);
System.out.println("response = " + response);
}
public void deleteUser(HttpServletRequest request, HttpServletResponse response){
System.out.println("UserServlet deleteUser");
}
public void updateUser(HttpServletRequest request, HttpServletResponse response){
System.out.println("UserServlet updateUser");
}
public void selectUser(HttpServletRequest request, HttpServletResponse response){
System.out.println("UserServlet selectUser");
}
}
05-ModelbaseServlet执行流程(掌握)
执行流程



