课程信息管理系统

  最近做了一个课程信息管理系统,做的不是很好,毕竟是初学,没有按照工程的方法去写。

  下面说一下简单的流程。

一、首先,先在后台建立数据库表,我用的是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 }

然后跳转到相应的显示页面。

下面是实例演示。

六、修改与删除类似,这里就不做再详细的介绍了。

  

    总之,这次的代码是有一些繁琐的,介绍可能也不是很详细,待日后优化后再重新发表。

原文地址:https://www.cnblogs.com/yandashan666/p/10093844.html