jsp和servlet写的增删改查
Java EE架构程序设计实验作业
一、实验项目功能
- 完成了项目的登录和注册
- 学生信息管理的增删改查
- 学生选课信息的增删改查
- 学生成绩管理的增删改查
-
二、实验过程
实验过程还是比较曲折的,因为之前没有写过完整的Servlet程序,不知道如何将表单提交到Servlet,一开始写的都是@WebServlet( "/addxueshengServlet" )格式,显示Servlet不可用,后来改成@WebServlet( urlPatterns = { "/addxueshengServlet" })才解决。然后学着分层写,写dao层,enity层,Servlet层,和utils层,dao层写操作数据库方法,enity写实体层,Servlet写逻辑,utils连接数据库。实验中还遇到了一个问题,就是把数据从后端传到前端,一开始想学ajex,后来用了session将数据从后端传到了前端,用的resultset类型,暂时还不清楚如何将自己写的类型传到前端,过后在学。总体完成了增删改查。
前端提交form表单给Servlet,然后Servlet通过String ?= request.getParameter("?");获取数据,然后new一个自己的dao,传参数进行函数处理。
String name = request.getParameter("name");
String nianji = request.getParameter("nianji");
String banji = request.getParameter("banji");
String gaodengshuxue = request.getParameter("gaodengshuxue");
String yingyv = request.getParameter("yingyv");
String zhengzhi = request.getParameter("zhengzhi");
String zhuanyeke = request.getParameter("zhuanyeke");
String javaee = request.getParameter("javaee");
HttpSession httpSession = request.getSession();
chengjidao chengjidao = new chengjidao();
boolean res = chengjidao.addchengji(name,nianji,banji,gaodengshuxue,yingyv,zhengzhi,zhuanyeke,javaee);
if(res){
response.sendRedirect("chengji.jsp");
}else {
httpSession.setAttribute("message", "添加失败!");
response.sendRedirect("error.jsp");
}
然后session进行传输数据
HttpSession httpSession = request.getSession();
request.getSession().setAttribute("rrss", rrss);
<% ResultSet resultSet = (ResultSet) session.getAttribute("rrss");%>
三、实验心得
实验中遇到的问题:
- 前端提交form表单之后,后台没有反应,开始的时候Servlet写的是@WebServlet( "/addxueshengServlet" )
最后修改为@WebServlet( urlPatterns = { "/addxueshengServlet" })之后解决
- 后端向前端传输数据
可以定义一个session会话,然后前端获取。
Connection connection = DbConnect.getConnection();
String sql = "SELECT * FROM STUDENT";
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
try { preparedStatement = connection.prepareStatement(sql);
resultSet = preparedStatement.executeQuery();
HttpSession httpSession = req.getSession(); // 设置session有效时间为两小时 httpSession.setMaxInactiveInterval(7200);
httpSession.setAttribute("resultSet", resultSet); resp.sendRedirect("loginAction.jsp"); } catch (SQLException e) { e.printStackTrace(); }
然后前端<% ResultSet resultSet = (ResultSet) session.getAttribute("resultSet");%>获取
<% while (resultSet.next()) { %>
<td><%=resultSet.getString("name")%> </td>
<td><%=resultSet.getString("sex")%>
- 因为使用的是前端模板,所以并不了解排版,还是比较困难的。
心得:
因为是第一次完整的Servlet程序,还进行了分层,所以收获还是比较大的。