系统查找的前后端代码
前端
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>查询调剂计划</title>
</head>
<body>
<h2>根据 专业课名称 查找调剂计划</h2>
<form action="/yjs/findByMnServlet" method="post" id="form">
<p> 专业课名称: <input id="mn" name="mn" type="text" required></p>
<input type="submit" class="button" value="查找">
</form>
</body>
</html>
后端
package com.lianxi.servlet;
import com.lianxi.mapper.ClassesMapper;
import com.lianxi.pojo.Classes;
import com.lianxi.util.SqlSessionFactoryUtils;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet("/findByIdServlet")
public class FindByIdServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 1. 接收课程名
String id = req.getParameter("id");
// 检查课程名是否为空
if (id == null || id.trim().isEmpty()) {
resp.setContentType("text/html;charset=utf-8");
try (PrintWriter writer = resp.getWriter()) {
writer.write("id不能为空!");
}
return; // 结束请求处理
}
// 2. 调用 MyBatis 完成查询
SqlSession sqlSession = null;
try {
// 2.1 获取 SqlSessionFactory 对象
SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtils.getSqlSessionFactory();
// 2.2 获取 SqlSession 对象
sqlSession = sqlSessionFactory.openSession();
// 2.3 获取 Mapper
ClassesMapper classesMapper = sqlSession.getMapper(ClassesMapper.class);
// 2.4 调用方法
Classes classes = classesMapper.selectById(Integer.parseInt(id));
// 获取字符输出流,并设置 content type
resp.setContentType("text/html;charset=utf-8");
try (PrintWriter writer = resp.getWriter()) {
// 3. 判断id是否为空
if (classes != null) {
// 写出对应学生
writer.write(classes.toString());
} else {
// 没有找到学生
writer.write("没有找到该学生!");
}
}
} catch (Exception e) {
// 异常处理:打印错误日志并返回错误信息
e.printStackTrace();
resp.setContentType("text/html;charset=utf-8");
try (PrintWriter writer = resp.getWriter()) {
writer.write("查询过程中发生了错误,请稍后再试!");
}
} finally {
// 2.5 确保 sqlSession 在 finally 中被关闭,避免资源泄漏
if (sqlSession != null) {
sqlSession.close();
}
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// doPost 请求直接调用 doGet 方法
this.doGet(req, resp);
}
}
浙公网安备 33010602011771号