}
3. 实现业务层(Service)
编写业务层接口:
/**
- 用户管理的业务接口
*/
public interface UserService {
}
实现业务层接口:
public class UserServiceImpl implements UserService {
private UserDao dao = new UserDaoImpl();
}
4.实现表现层功能
编写表现层:
@WebServlet(“/loginServlet”)
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
/*
- Code
*/
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}
5.由于表现层Servlet太多,我们可以做简单的提取
编写BaseServlet类,然后由其他servlet继承
public class BaseServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
// 获取请求标识
String methodName = request.getParameter(“method”);
// 获取指定类的字节码对象
Class<? extends BaseServlet> clazz = this.getClass();//这里的this指的是继承BaseServlet对象
// 通过类的字节码对象获取方法的字节码对象
Method method = clazz.getMethod(methodName, HttpServletRequest.class, HttpServletResponse.class);
// 让方法执行
method.invoke(this, request, response);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
5.编写对应的前端页面:以user_login.jsp为例
<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>
<%@taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
管理员登录
×
${login_msg}
运行截图:
测试登录功能,发现中文乱码问题(直接继承HttpServlet不会出现,继承BaseServlet会出现)
6.编写过滤器解决中文乱码问题
@WebFilter(“/*”)
public class CharchaterFilter implements Filter {
protected String encoding;
@Override
public void destroy() {
// TODO 自动生成的方法存根
}
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
// TODO 自动生成的方法存根
HttpServletRequest request=(HttpServletRequest)req;
HttpServletResponse response=(HttpServletResponse)res;
String method=request.getMethod();
if(method.equalsIgnoreCase(“post”)){
request.setCharacterEncoding(“utf-8”);
}
response.setContentType(“text/html;charset=utf-8”);
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO 自动生成的方法存根
}
}
7.编写列表页面,并在后端代码上实现响应的功能
<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>
<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%>
- ${user.username}
- 注销
- 首页
- 学生管理
- 班级管理
- 课程管理
- 关于我们
- 管理首页
- 学生管理
- 学生信息
编号 姓名 性别 年龄 班级 电话 邮箱
<c:forEach items=“${pb.list}” var=“student” varStatus=“s”>
${student.id} ${student.name} ${student.gender} ${student.age} ${student.classno} ${student.phone} ${student.email} 修改</c:forEach>
<c:if test=“${pb.currentPage == 1}”>
</c:if>
<c:if test=“${pb.currentPage != 1}”>
</c:if>
«
<c:forEach begin=“1” end=“${pb.totalPage}” var=“i” >
<c:if test=“${pb.currentPage == i}”>
- ${i}
</c:if>
<c:if test=“${pb.currentPage != i}”>
- ${i}
</c:if>
</c:forEach>
-
»
共 p b . t o t a l C o u n t 条记录,共 {pb.totalCount}条记录,共 pb.totalCount条记录,共{pb.totalPage}页
8.实现不同信息的删除修改功能,并进一步完善
<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>
<%@taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
修改学生信息 修改学生信息
<c:if test=“${student.gender == ‘男’}”>
男
女
</c:if>
<c:if test=“${student.gender == ‘女’}”>
男
女
</c:if>
## 最后自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
<c:if test=“${student.gender == ‘男’}”>
男
女
</c:if>
<c:if test=“${student.gender == ‘女’}”>
男
女
</c:if>
## 最后自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-CgEyyAv2-1715714898599)]
[外链图片转存中…(img-mwA345Hl-1715714898600)]
[外链图片转存中…(img-2tI3FtOf-1715714898600)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!