上一次的文章,我們講解了如何用JAVA訪問MySql數據庫,對數據進行增加刪除修改查詢。那么這次我們把具體的頁面的數據庫操作結合在一起,進行一次簡單的學生信息操作案例。
首先我們創建一個專門用於學生管理的ManageServlet。
接着我們需要一個展現數據的頁面,也就是 UserList.jsp
<%@page import="com.babybus.sdteam.vo.Student"%> <%@ page language="java" import="java.util.*" pageEncoding="GB18030"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>學生信息管理</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <link rel="stylesheet" type="text/css" href="styles.css"> </head> <body> <%=basePath %> <table border="1" width="100%" > <tr> <th>uid</th> <th>學生姓名</th> <th>年齡</th> <th>班級</th> <th>操作</th> </tr> <% // 獲取學生列表數據 List<Student> lsUser=(List)request.getAttribute("students"); if(lsUser==null||lsUser.size()==0){ pageContext.setAttribute("theUser","1"); }else{ // 遍歷列表生成表格數據 for(int i=0;i<lsUser.size();i++){ pageContext.setAttribute("theUser",lsUser.get(i)); %> <tr> <td>${theUser.id}</td> <td>${theUser.studentname}</td> <td>${theUser.age}</td> <td>${theUser.classname}</td> <td> <a href="AddUser.jsp?id=${theUser.id}">修改<a/>| <a href="Mangage?method=del&userid=${theUser.id}" onclick="return confirm('確定要刪除么?')" }>刪除</a> </td> </tr> <% } } %> </table> <a href="AddUser.jsp">增加<a/> </body> </html>
接下來我們需要一個進行增加修改的頁面AddUser.jsp
<%@page import="com.babybus.sdteam.bo.ManageServlet"%> <%@page import="com.babybus.sdteam.vo.Student"%> <%@page import="com.babybus.sdteam.bo.LoginServlet"%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; response.setContentType("text/html;charset=UTF-8"); request.setCharacterEncoding("UTF-8"); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'AddUser.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="學生信息管理"> <link rel="stylesheet" type="text/css" href="styles.css"> </head> <body> <% String id= request.getParameter("id"); if(id!=null){ ManageServlet loginServlet =new ManageServlet(); Student student = loginServlet.getStudentById(id); pageContext.setAttribute("theUser",student); pageContext.setAttribute("method","update"); pageContext.setAttribute("title","修改"); } else{ pageContext.setAttribute("method","add"); pageContext.setAttribute("title","添加"); } %> <form action="Mangage?method=${method}" method="post" > <input type="hidden" name="userid" value="${theUser.id}"> <table width="100%" height="200px" border="1"> <tr> <td colspan="2">${title}</td> </tr> <tr> <td align="right">學生名</td> <td> <input type="text" name="studentname" value="${theUser.studentname}"> </td> </tr> <tr> <td align="right">年齡:</td> <td> <input type="text" name="age" value="${theUser.age}"> </td> </tr> <tr> <td align="right">班級:</td> <td> <input type="text" name="classname" value="${theUser.classname}"> </td> </tr> <tr> <td colspan='2' align="center"> <input type="submit" value="保存" name="btnSubmit"> <input type="reset" value="重置" name="btnCancel"> </td> </tr> </table> </form> </body> </html>
有了頁面支撐,我們需要后台的Servlet進行數據處理轉發
/** * 業務處理 * @param req * @param rep * @throws IOException * @throws ServletException */ public void process(HttpServletRequest req,HttpServletResponse rep) throws ServletException, IOException { String method = req.getParameter("method"); System.out.println("操作:" + method); Student student = new Student(); if(!"del".equals(method)) { // 進行編碼轉換,避免中文亂碼 String studentname = new String(req.getParameter("studentname").getBytes("ISO-8859-1"),"utf-8"); int age = Integer.parseInt(req.getParameter("age")); String classname = new String(req.getParameter("classname").getBytes("ISO-8859-1"),"utf-8"); student.setStudentname(studentname); student.setAge(age); student.setClassname(classname); } StudentDao dao = new StudentDao(); // 修改 if("update".equals(method)) { String id = req.getParameter("userid"); student.setId(Integer.parseInt(id)); try { dao.updateStudent(student); } catch (SQLException e) { e.printStackTrace(); } } // 增加 else if("add".equals(method)) { try { dao.insertStudent(student); } catch(SQLException e) { e.printStackTrace(); } } // 刪除 else if("del".equals(method)) { try { String id = req.getParameter("userid"); dao.deleteStudent(Integer.parseInt(id)); }catch (SQLException e) { e.printStackTrace(); } } ManageServlet manageservlet = new ManageServlet(); // 獲取全部列表 List<Student> resultlist = manageservlet.getStudentByCondition(null); req.setAttribute("students", resultlist); RequestDispatcher dispatcher = req.getRequestDispatcher("UserList.jsp"); dispatcher.forward(req, rep); }
上面就是全部的增加刪除修改的代碼。下面給出兩個頁面的截圖效果
通過上面的例子我們就可以很好的掌握了J2EE的入門
結語
- 受益,掌握了J2EE的入門
本站文章為 寶寶巴士 SD.Team 原創,轉載務必在明顯處注明:(作者官方網站: 寶寶巴士 )
轉載自【寶寶巴士SuperDo團隊】 原文鏈接: http://www.cnblogs.com/superdo/p/4579275.html