最近做了一个课程信息管理系统,做的不是很好,毕竟是初学,没有按照工程的方法去写。
下面说一下简单的流程。
一、首先,先在后台建立数据库表,我用的是MySQL。建立id,classname,teacher,classplace用来储存数据序号、课程名称、上课教师和上课地点。
二、建立Javaweb项目,建立Java文件,用来封装变量。
1 package com.book.web3; 2 3 public class Book { 4 private int id; 5 private String classname; 6 private String teacher; 7 private String classplace; 8 9 public int getId() { 10 return id; 11 } 12 public void setId(int id) { 13 this.id = id; 14 } 15 public String getClassname() { 16 return classname; 17 } 18 public void setClassname(String classname) { 19 this.classname = classname; 20 } 21 public String getTeacher() { 22 return teacher; 23 } 24 public void setTeacher(String teacher) { 25 this.teacher = teacher; 26 } 27 public String getClassplace() { 28 return classplace; 29 } 30 public void setClassplace(String classplace) { 31 this.classplace = classplace; 32 } 33 public Book(){ 34 35 } 36 public Book(int id, String classname, String teacher, String classplace) { 37 this.id = id; 38 this.classname = classname; 39 this.teacher = teacher; 40 this.classplace = classplace; 41 } 42 43 public Book(String classname, String teacher, String classplace){ 44 this.classname = classname; 45 this.teacher = teacher; 46 this.classplace = classplace; 47 } 48 }
三、下面增的操作。建立增的jsp文件,并连接到数据库。
add.jsp
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 <body> 6 <br><h1 align="center">欢迎来到课程信息管理系统</h1><br> 7 <form action="addresult.jsp" method="post"> 8 <table align="center" border="1" width="50%" cellpadding="6"> 9 <tr> 10 <th colspan="2" align="center" >添加信息</th><%--th加粗, cellpadding和android padding含义一样--%> 11 </tr> 12 <tr> 13 <td align="center" >课程名称:</td> 14 <td align="left" ><input type="text" name="classname"></td> 15 </tr> 16 <tr> 17 <td align="center" >任课教师:</td> 18 <td align="left" ><input type="text" name="teacher"></td> 19 </tr> 20 <tr> 21 <td align="center" >上课地点:</td> 22 <td align="left" ><input type="text" name="classplace"></td> 23 </tr> 24 <tr> 25 <th colspan="2" align="center" ><input type="submit" name="submit" value="添加"></th> 26 </tr> 27 </table> 28 </form> 29 <h3 align="center"><a href = "http://localhost:8082/com.book.web3/index.jsp">返回主菜单<br></a></h3> 30 <h3 align="center"> <input type="button" value="退出" onclick="window.close()"></h3> 31 </body> 32 </html>
这句话是用来跳转到对应的jsp页面的
1 <form action="addresult.jsp" method="post">
然后跳转到对应的页面就可以了。
addresult.jsp
1 <%@page import="java.sql.PreparedStatement"%> 2 <%@ page language="java" contentType="text/html; charset=UTF-8" 3 pageEncoding="UTF-8"%> 4 5 <%@page import="java.sql.Connection" %> 6 <%@page import="java.sql.DriverManager" %> 7 8 <% request.setCharacterEncoding("UTF-8"); %> 9 <jsp:useBean id="book" class="com.book.web3.Book"></jsp:useBean> 10 <jsp:setProperty property="*" name="book"/> 11 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 12 <html> 13 <head> 14 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 15 <title>欢迎来到课程信息管理系统</title> 16 </head> 17 <body> 18 <% 19 try{ 20 Class.forName("com.mysql.jdbc.Driver"); 21 String url = "jdbc:mysql://localhost:3306/yds"; 22 String userName = "root"; // 用户名 23 String userPwd = "20173673"; // 密码 24 Connection conn = DriverManager.getConnection(url, userName, userPwd); 25 String sql = "insert into study(classname,teacher,classplace)values(?,?,?)"; 26 PreparedStatement ps = conn.prepareStatement(sql); 27 ps.setString(1, book.getClassname()); 28 ps.setString(2, book.getTeacher()); 29 ps.setString(3, book.getClassplace()); 30 int row = ps.executeUpdate(); 31 if(row > 0){ 32 out.print("添加成功! "); 33 34 } 35 ps.close(); 36 conn.close(); 37 boolean flag = false; 38 }catch(Exception e){ 39 out.print("添加失败 " + e.toString()); 40 } 41 %> 42 <h3 align="center"><a href = "http://localhost:8082/com.book.web3/index.jsp">返回主菜单<br></a></h3> 43 <h3 align="center"> <input type="button" value="退出" onclick="window.close()"></h3> 44 </body> 45 </html>
下面是实例操作。
添加页面
添加成功的提示。
数据库中
四、查询的操作与增的操作类似,只是需要将数据显示在页面上。
这是将信息显示在页面中的jsp文件。
demandresult.jsp
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <%@page import="java.util.List"%> 5 <%@page import="com.book.web3.Book"%> 6 <html> 7 <head> 8 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 9 <title>所有课程信息</title> 10 </head> 11 <body> 12 <table align="center" width="450" border="1" height="180" 13 bordercolor="white" bgcolor="black" cellpadding="1" cellspacing="1"> 14 <tr bgcolor="white"> 15 <td align="center" colspan="7"> 16 <h2>查询信息如下</h2> 17 </td> 18 </tr> 19 <tr align="center" bgcolor="#e1ffc1"> 20 <td><b>课程名称</b></td> 21 <td><b>任课教师</b></td> 22 <td><b>任课地点</b></td> 23 </tr> 24 <% 25 // 获取图书信息集合 26 List<Book> list = (List<Book>) request.getAttribute("list"); 27 // 判断集合是否有效 28 if (list == null || list.size() < 1) { 29 out.print("没有数据!"); 30 } else { 31 // 遍历图书集合中的数据 32 for (Book book : list) { 33 %> 34 <tr align="center" bgcolor="white"> 35 <td><%=book.getClassname()%></td> 36 <td><%=book.getTeacher()%></td> 37 <td><%=book.getClassplace()%></td> 38 </tr> 39 <% 40 } 41 } 42 %> 43 </table> 44 <h3 align="center"><a href = "http://localhost:8082/com.book.web3/index.jsp">返回主菜单<br></a></h3> 45 <h3 align="center"> <input type="button" value="退出" onclick="window.close()"></h3> 46 </body> 47 </html>
显示的页面如下图
五、删除操作。
与上面两种操作类似,首先先建立一个jsp文件来选择要删除的信息,然后将输入的信息传值给数据库,最后在servlet页面中经过跳转将遍历得到的值显示到相应的页面中。与之不同的是,在deleteresult.jsp文件中需要添加一个删除的方法,这里我使用的是超链接的传值方式。将读取到的数据的id进行传值以达到整行删除的效果。
1 <a href="Delete?id=<%=book.getId()%>">删除</a>
将值传入到Delete中后,对id进行操作,来将数据进行删除。
1 package com.book.web3; 2 3 import java.io.IOException; 4 import javax.servlet.ServletException; 5 import javax.servlet.annotation.WebServlet; 6 import javax.servlet.http.HttpServlet; 7 import javax.servlet.http.HttpServletRequest; 8 import javax.servlet.http.HttpServletResponse; 9 import java.sql.Connection; 10 import java.sql.DriverManager; 11 import java.sql.ResultSet; 12 import java.sql.Statement; 13 14 @WebServlet("/Delete") 15 public class Delete extends HttpServlet { 16 private static final long serialVersionUID = 1L; 17 public void init() throws ServletException 18 {} 19 20 /** 21 * doGet()方法 22 */ 23 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 24 { 25 request.setCharacterEncoding("UTF-8"); 26 String classn= request.getParameter("id"); 27 int id = Integer.parseInt(classn); 28 try { 29 Class.forName("com.mysql.jdbc.Driver"); 30 String url = "jdbc:mysql://localhost:3306/yds"; 31 String userName = "root"; // 用户名 32 String userPwd = "20173673"; // 密码 33 Connection conn = DriverManager.getConnection(url, userName, userPwd); 34 35 String sql = "delete from study where id='"+id+"'"; 36 Statement stmt = conn.createStatement(); 37 int resultSet = stmt.executeUpdate(sql); 38 39 // resultSet.close(); 40 stmt.close(); 41 conn.close(); 42 43 } catch (Exception e) { 44 e.printStackTrace(); 45 } 46 request.getRequestDispatcher("deleteresult.jsp").forward(request, response); 47 } 48 49 /** 50 * doPost()方法 51 */ 52 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 53 doGet(request,response); 54 } 55 /** 56 * 销毁 57 */ 58 public void destroy() 59 { 60 super.destroy(); 61 } 62 }
然后跳转到相应的显示页面。
下面是实例演示。
六、修改与删除类似,这里就不做再详细的介绍了。
总之,这次的代码是有一些繁琐的,介绍可能也不是很详细,待日后优化后再重新发表。