zoukankan      html  css  js  c++  java
  • Java之从头开始编写简单课程信息管理系统

    编写简单的课程管理系统对于新手并不友好,想要出色的完成并不容易以下是我的一些经验和方法

    详情可参考以下链接:

    https://www.cnblogs.com/dream0-0/p/10090828.html

    一、相关的软件下载和环境配置

    1、下载并配置JDK。

    2、下载eclipse。

    3、下载并配置apache-tomcat(服务器)。

    4、下载MySQL(数据库)。

    5、下载Navicat for MySQL(数据库可视化工具),方便对数据库的操作。

    6、下载jdbc用来实现eclipse中的项目与数据库实现连接。

    二、代码

    在 WebContent 文件夹下,新建如下图中的JSP文件,Login.jsp和signinerror.jsp是用来登陆的,这里不必建立。

    (1)head.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
    
    .headdiv{
        background-color:#3F51B5;
        100%; 
        height:130px;
    }
    
    .headdiv P{
        font-family:YouYuan;
        font-size:20px;
        color:#E8EAF6;
        position:relative;
        left:20px;
        top:45px;
    }
    
    </style>
    </head>
    <body>
    
    <div class="headdiv">
        <p>ec-web课程信息综合管理平台</p>
    </div>
    
    </body>
    </html>
    

    (2)left.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
    
    .leftMenu{
        background-color:#7986CB;
        250px; 
        height:600px;
        position:relative;
        top:0px;
    }
    
    .menuParent{
        background-color:#BBDEFB;
    }
    
    
    
    </style>
    </head>
    <body>
    
    <div class="leftMenu">
        <div class="menu">
        
        
            <div class="menuParent">
                <div class="ListTitlePanel">
                    <div class="ListTitle">
                        <strong>课程信息管理</strong>                    
                        <div class="leftbgbt"></div>
                    </div>
                </div>
                
                <div class="menuList">
                    <div><a target="mainAction" href="USEJSP/add.jsp">课程信息录入</a></div>
                    <div><a target="mainAction" href="USEJSP/update.jsp">课程信息修改</a></div>
                    <div><a target="mainAction" href="USEJSP/delete.jsp">删除课程信息</a></div>
                    <div><a target="mainAction" href="USEJSP/search.jsp">查询课程信息</a></div>                
                </div>
            </div>
            
            
        </div>
    </div>
    
    <script type="text/javascript">
    
    
    
    </script>
    
    </body>
    </html>
    

    (3)index.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    </head>
    <body>
    这是小主页
    </body>
    </html>
    

    (4)main.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>课程信息管理系统</title>
    
    <style type="text/css">
    
    .headframe{
        100%;
        height:130px;
        border:0;
    }
    
    .leftframe{
        float:left;
        250px;
        height:600px;
        border:0;    
    }
    
    .mainframe{
        float:right;
        1200px;
        height:600px;
        border:0;
    }
    
    </style>
    
    </head>
    
    
    <iframe src="head.jsp" class="headframe" scrolling="no"></iframe>
    <iframe src="left.jsp" class="leftframe" scrolling="no"></iframe>
    <iframe src="index.jsp" name="mainAction" class="mainframe"></iframe>
    
    
    </html>
    

      

    在WebContent文件夹下建立名为USEJSP的文件夹,在USEJSP文件夹下,建立如下图的JSP文件

    (1)add.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    
    <style type="text/css">
    
    .butn{
        display:inline-block;
        padding: 8px 35px;
        background-color:#32CD32;
         color:white;
         border:none;
         text-align:center;
        text-decoration:none;
        border-radius:5px;    
        position:absolute;
         left:40px;
         top:95px;
    }
    
    </style>
    
    </head>
    <body>
    
    <div class="container">
        <section>
            <form action="${pageContext.request.contextPath}/AddServlet/AddCurrServlet?method=add" method="post" onsubmit="return check()">
            <!---${pageContext.request.contextPath}的目的是找到主工程的名字,/Servlet/Userservlet就是web.xml下面配置的路径,也就是servlet的路径--->
                <span class="cname">课程名称</span>
                <input type="text" name="cname" class="icname" placeholder="  class-name" id="icname">
                <br/>
                
                <span class="teacher">任课教师</span>
                <input type="text" name="teacher" class="iteacher" placeholder="  teacher" id="iteacher">
                <br/>
                
                <span class="place">上课地点</span>
                <input type="text" name="place" class="iplace" placeholder="  place" id="iplace">
                <br/>
                
                <input type="submit" value="保 存" class="butn">
                <br/>
            </form>
        </section>
    </div>
    
    <script type="text/javascript">
        function check() {
            
            var cname = document.getElementById("icname");
            var teacher = document.getElementById("iteacher");
            var place = document.getElementById("iplace");
            
            var placestr = place.value.substring(0,2);
            
            
            //非空
            if(cname.value == '') {
                alert('课程名称为空');
                cname.focus();
                return false;
            }
            if(teacher.value == '') {
                alert('教师为空');
                teacher.focus();
                return false;
            }
            if(place.value == '') {
                alert('上课地点为空');
                place.focus();
                return false;
            }
            
            //教师
            if(teacher.value != '王建民' && teacher.value != '王辉' && teacher.value != '刘丹' && teacher.value != '刘立嘉' && teacher.value != '杨子光'){
                alert('教师名称错误');
                return false;
            }
            
            //教室
            if(!/^基教/.test(placestr) && !/^一教/.test(placestr) && !/^二教/.test(placestr) && !/^三教/.test(placestr)) {
                alert('上课地点错误');
                return false;
            }
            return true;
        }
        
    </script>
        
    </body>
    </html>
    

    (2)addnameerror.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    
    <style type="text/css">
    
    .butn{
        display:inline-block;
        padding: 8px 35px;
        background-color:#32CD32;
         color:white;
         border:none;
         text-align:center;
        text-decoration:none;
        border-radius:5px;    
        position:absolute;
         left:40px;
         top:95px;
    }
    
    </style>
    
    </head>
    <body onload="alt()">
    
    <div class="container">
        <section>
            <form action="${pageContext.request.contextPath}/AddServlet/AddCurrServlet?method=add" method="post" onsubmit="return check()">
            <!---${pageContext.request.contextPath}的目的是找到主工程的名字,/Servlet/Userservlet就是web.xml下面配置的路径,也就是servlet的路径--->
                <span class="cname">课程名称</span>
                <input type="text" name="cname" class="icname" placeholder="  class-name" id="icname">
                <br/>
                
                <span class="teacher">任课教师</span>
                <input type="text" name="teacher" class="iteacher" placeholder="  teacher" id="iteacher">
                <br/>
                
                <span class="place">上课地点</span>
                <input type="text" name="place" class="iplace" placeholder="  place" id="iplace">
                <br/>
                
                <input type="submit" value="保 存" class="butn">
                <br/>
            </form>
        </section>
    </div>
    
    <script type="text/javascript">
        function check() {
            
            var cname = document.getElementById("icname");
            var teacher = document.getElementById("iteacher");
            var place = document.getElementById("iplace");
            
            var placestr = place.value.substring(0,2);
            
            
            //非空
            if(cname.value == '') {
                alert('课程名称为空');
                cname.focus();
                return false;
            }
            if(teacher.value == '') {
                alert('教师为空');
                teacher.focus();
                return false;
            }
            if(place.value == '') {
                alert('上课地点为空');
                place.focus();
                return false;
            }
            
            //教师
            if(teacher.value != '王建民' && teacher.value != '王辉' && teacher.value != '刘丹' && teacher.value != '刘立嘉' && teacher.value != '杨子光'){
                alert('教师名称错误');
                return false;
            }
            
            //教室
            if(!/^基教/.test(placestr) && !/^一教/.test(placestr) && !/^二教/.test(placestr) && !/^三教/.test(placestr)) {
                alert('上课地点错误');
                return false;
            }
            return true;
        }
        
        function alt() {
            alert('课程名称重复');
        }
    </script>
        
    </body>
    </html>
    

    (3)delete.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    
    <%@page import="java.sql.*"%>
    <%@page import="java.sql.Connection"%>
    <%@page import="java.sql.Statement"%>
    <%@page import="java.sql.ResultSet"%>
    <%@page import="java.sql.DriverManager"%>
    <%@page import="javax.servlet.http.HttpServletRequest"%>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    
    <style type="text/css">
    
    .butn{
        display:inline-block;
        padding: 8px 35px;
        background-color:#32CD32;
         color:white;
         border:none;
         text-align:center;
        text-decoration:none;
        border-radius:5px;    
        position:absolute;
         left:40px;
         top:95px;
    }
    
    </style>
    
    </head>
    <body>
    
    <div>
        <section>
            <form action="${pageContext.request.contextPath}/DeleteServlet/DeleteCurrServlet?method=add" method="post" onsubmit="return check()">
                <span class="cname">课程名称</span>
                <input type="text" name="cname" id="icname" class="icname" placeholder="  class-name">
                <br/>
        
                <input type="submit" value="删除" class="butn">
                <br/>
            </form>
        </section>
    </div>
    
    <script type="text/javascript">
        function check() {
            
            var cname = document.getElementById("icname");
            
            //非空
            if(cname.value == '') {
                alert('课程名称为空,请重新输入');
                cname.focus();
                return false;
            }
            return true;
        }
        
    </script>
    
    </body>
    </html>
    

    (4)search.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    
    <%@page import="java.sql.*"%>
    <%@page import="java.sql.Connection"%>
    <%@page import="java.sql.Statement"%>
    <%@page import="java.sql.ResultSet"%>
    <%@page import="java.sql.DriverManager"%>
    <%@page import="javax.servlet.http.HttpServletRequest"%>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    
    <style type="text/css">
    
    .butn{
        display:inline-block;
        padding: 8px 35px;
        background-color:#32CD32;
         color:white;
         border:none;
         text-align:center;
        text-decoration:none;
        border-radius:5px;    
        position:absolute;
         left:40px;
         top:95px;
    }
    
    </style>
    
    </head>
    <body>
    
    <div>
        <section>
            <form action="${pageContext.request.contextPath}/SearchServlet/SearchCurrServlet?method=add" method="post">
                <span class="cname">课程名称</span>
                <input type="text" name="cname" id="cname" class="icname" placeholder="  class-name">
                <br/>
                
                <span class="teacher">任课教师</span>
                <input type="text" name="teacher" id="teacher" class="iteacher" placeholder="  teacher">
                <br/>
            
                <span class="place">上课地点</span>
                <input type="text" name="place" id="place" class="iplace" placeholder="  place">
                <br/>
        
                <input type="submit" value="查询" class="butn">
                <br/>
            </form>
        </section>
    </div>
    
    
    </body>
    </html>
    

    (5)update.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    
    <%@page import="java.sql.*"%>
    <%@page import="java.sql.Connection"%>
    <%@page import="java.sql.Statement"%>
    <%@page import="java.sql.ResultSet"%>
    <%@page import="java.sql.DriverManager"%>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    </head>
    <body>
    
    <form action="${pageContext.request.contextPath}/UpdateServlet/UpdateCurrServlet?method=update" method="post" onsubmit="return check()">
        <span class="cname">需要修改的课程名称</span>
        <input type="text" name="tempcname" class="itempcname" placeholder="  class-name" id="itempcname">
        <br/>
    
            <table border="1" bgcolor="#ffffff" align="" cellspacing="1" cellpadding="1">
            <caption>输入修改信息</caption>
            <tr>
            <td align="center" width=16%>新课程名称</td>
            <td align="center" width=16%>新任课教师</td>
            <td align="center" width=25%>新上课地点</td>
            <td align="center" width=16%>操作</td>
            </tr>
        
            <tr>
            <td width=16% align="center"><input type="text" name="cname" class="icname" placeholder="  class-name" id="icname"></td>
            <td width=16% align="center"><input type="text" name="teacher" class="iteacher" placeholder="  teacher" id="iteacher"></td>
            <td width=25% align="center"><input type="text" name="place" class="iplace" placeholder="  place" id="iplace"></td>
            <td width=16% align="center"><input type="submit" value="修 改" class="butn"></td>
            </tr>
    
            </table>
    </form>
    
    </body>
    
    <script type="text/javascript">
    
    function check() {
        
        var ctempname = document.getElementById("itempcname");
        var cname = document.getElementById("icname");
        var teacher = document.getElementById("iteacher");
        var place = document.getElementById("iplace");
        
        var placestr = place.value.substring(0,2);
        
        
        //非空
        if(ctempname.value == ''){
            alert('需修改课程名称为空');
            teacher.focus();
            return false;
        }
        if(cname.value == '') {
            alert('课程名称为空');
            cname.focus();
            return false;
        }
        if(teacher.value == '') {
            alert('教师为空');
            teacher.focus();
            return false;
        }
        if(place.value == '') {
            alert('上课地点为空');
            place.focus();
            return false;
        }
        
        
        //教师
        if(teacher.value != '王建民' && teacher.value != '王辉' && teacher.value != '刘丹' && teacher.value != '刘立嘉' && teacher.value != '杨子光'){
            alert('教师名称错误');
            return false;
        }
        
        //教室
        if(!/^基教/.test(placestr) && !/^一教/.test(placestr) && !/^二教/.test(placestr) && !/^三教/.test(placestr)) {
            alert('上课地点错误');
            return false;
        }
        return true;
    }
    
    </script>  
    
    </html>
    

      

    下面,生成web.xml文件(用来配置跳转路径)

    在你的项目上右击,java EE Tool—》Generate Deployment Descriptor Stub

    这样,在WebContent/WEB-INF文件夹下就生成了.xml文件,如下图

    (1)Web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
      <display-name>curriculum_information_management_web</display-name>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
      
      <servlet>
            <servlet-name>Userservlet</servlet-name>    <!--servlet的别名,随便取  -->
            
            <!--servlet的包路径,后面再加上.servlet类名 ,这里的类名必须是包下面的servlet类名,目的是让找到该servlet的路径 -->
            
            <servlet-class>com.Servlet.Userservlet</servlet-class>
        </servlet>    
        <servlet-mapping>
            <servlet-name>Userservlet</servlet-name>    <!--servlet的别名,和上面保持一致就行  -->
            
            <!--jsp跳转到servlet的路径名,自己取,用来从jsp界面跳转到servlet的路径,程序会根据路径找到servlet的位置  -->
            
            <url-pattern>/Servlet/Userservlet</url-pattern><!--  -->
        </servlet-mapping>
      
          
          <servlet>
            <servlet-name>AddCurrServlet</servlet-name>        
            <servlet-class>com.Servlet.AddCurrServlet</servlet-class>
        </servlet>    
        <servlet-mapping>
            <servlet-name>AddCurrServlet</servlet-name>
            <url-pattern>/AddServlet/AddCurrServlet</url-pattern><!--  -->
        </servlet-mapping>
        
        
        <servlet>
            <servlet-name>SearchCurrServlet</servlet-name>        
            <servlet-class>com.Servlet.SearchCurrServlet</servlet-class>
        </servlet>    
        <servlet-mapping>
            <servlet-name>SearchCurrServlet</servlet-name>
            <url-pattern>/SearchServlet/SearchCurrServlet</url-pattern><!--  -->
        </servlet-mapping>
        
        
        <servlet>
            <servlet-name>DeleteCurrServlet</servlet-name>        
            <servlet-class>com.Servlet.DeleteCurrServlet</servlet-class>
        </servlet>    
        <servlet-mapping>
            <servlet-name>DeleteCurrServlet</servlet-name>
            <url-pattern>/DeleteServlet/DeleteCurrServlet</url-pattern><!--  -->
        </servlet-mapping>
        
        
        <servlet>
            <servlet-name>UpdateCurrServlet</servlet-name>        
            <servlet-class>com.Servlet.UpdateCurrServlet</servlet-class>
        </servlet>    
        <servlet-mapping>
            <servlet-name>UpdateCurrServlet</servlet-name>
            <url-pattern>/UpdateServlet/UpdateCurrServlet</url-pattern><!--  -->
        </servlet-mapping>
        
    </web-app>
    

      

    在项目下的 Java Resources/src 建立包,如下图

    然后,在各包下建立类,如图

    (1)com.Bean

    package com.Bean;
    
    public class CurrBean {
        private String name;
        private String teacher;
        private String place;
        
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getTeacher() {
            return teacher;
        }
        public void setTeacher(String teacher) {
            this.teacher = teacher;
        }
        public String getPlace() {
            return place;
        }
        public void setPlace(String place) {
            this.place = place;
        }
    }
    

    (2)com.Dao(该包中的类是用来登录操作的,在这里只是写出来,不用实现)

    package com.Dao;
    
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.Statement;
    
    import com.DBUtil.*;
    
    public class Userdao {
        public int login(String username,String password)
        {
            Connection conn = DBUtil.getConn();//这里就是从DBUtil类里面得到连接
            Statement state =null;
            ResultSet rs = null;
            int flag=0;
            try
            {
                String sql = "select * from admin";//SQL语句
                state = conn.createStatement();            
                rs=state.executeQuery(sql);
                while(rs.next())
                {
                    if(rs.getString("password").equals(password)&&rs.getString("username").equals(username))
                    {
                        flag=1;
                    }
                }
            }
            catch(Exception e)
            {
                e.printStackTrace();
            }        
            finally
            {
                DBUtil.close(rs, state, conn);
            }
            return flag;
        }
        
    
    }
    

      

    (3)com.DBUtil建立CurrDBUtil.java文件(链接数据库)

    package com.DBUtil;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class CurrDBUtil {
        public static String db_url="jdbc:mysql://localhost:3306/curriculum?useSSL=true&serverTimezone=UTC";
        //这是连接数据库,userdome是数据库的名称,userUnicode=true&characterEncoding=UTF-8是将字符集设置为utf-8,避免乱码。
        public static String db_user="root";//数据的用户名
        public static String db_password="lty";//数据库的密码
        public static Connection getConn()//获取连接,返回Connection类型,必须设置为static这样才能在其他类中使用
        {
            Connection conn=null;
            try
            {
                Class.forName("com.mysql.jdbc.Driver");//加载驱动
                conn=DriverManager.getConnection(db_url,db_user,db_password);//连接数据库
            }
            catch(Exception e)
            {
                e.printStackTrace();
            }
            return conn;
        }
        public static void close(Statement state,Connection conn)//关闭函数
        {
            if(state!=null)//只有状态和连接时,先关闭状态 
            {
                try
                {
                    state.close();
                }
                catch(SQLException e)
                {
                    e.printStackTrace();
                }
            }
            if(conn!=null)
            {
                try
                {
                    conn.close();
                }
                catch(SQLException e)
                {
                     e.printStackTrace();
                }
            }
        }
        public static void close(ResultSet rs,Statement state,Connection conn)
        {
            if(rs!=null)//有结果集,状态和连接时,先关闭结果集,在关闭状态,在关闭连接
            {
                try
                {
                    rs.close();
                }
                catch(SQLException e)
                {
                    e.printStackTrace();
                }
            }
            if(state!=null)
                
            {
                try
                {
                    state.close();
                }
                catch(SQLException e)
                {
                    e.printStackTrace();
                }
            }
            if(conn!=null)
            {
                try
                {
                    conn.close();
                }
                catch(SQLException e)
                {
                    e.printStackTrace();
                }
            }
        }
    
    }
    

      建立DBUtil.java文件(用来链接登录数据库,不必实现)

    package com.DBUtil;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class DBUtil {
        public static String db_url="jdbc:mysql://localhost:3306/userdome?useSSL=true&serverTimezone=UTC";
        //这是连接数据库,userdome是数据库的名称,userUnicode=true&characterEncoding=UTF-8是将字符集设置为utf-8,避免乱码。
        public static String db_user="root";//数据的用户名
        public static String db_password="lty100609";//数据库的密码
        public static Connection getConn()//获取连接,返回Connection类型,必须设置为static这样才能在其他类中使用
        {
            Connection conn=null;
            try
            {
                Class.forName("com.mysql.jdbc.Driver");//加载驱动
                conn=DriverManager.getConnection(db_url,db_user,db_password);//连接数据库
            }
            catch(Exception e)
            {
                e.printStackTrace();
            }
            return conn;
        }
        public static void close(Statement state,Connection conn)//关闭函数
        {
            if(state!=null)//只有状态和连接时,先关闭状态 
            {
                try
                {
                    state.close();
                }
                catch(SQLException e)
                {
                    e.printStackTrace();
                }
            }
            if(conn!=null)
            {
                try
                {
                    conn.close();
                }
                catch(SQLException e)
                {
                     e.printStackTrace();
                }
            }
        }
        public static void close(ResultSet rs,Statement state,Connection conn)
        {
            if(rs!=null)//有结果集,状态和连接时,先关闭结果集,在关闭状态,在关闭连接
            {
                try
                {
                    rs.close();
                }
                catch(SQLException e)
                {
                    e.printStackTrace();
                }
            }
            if(state!=null)
                
            {
                try
                {
                    state.close();
                }
                catch(SQLException e)
                {
                    e.printStackTrace();
                }
            }
            if(conn!=null)
            {
                try
                {
                    conn.close();
                }
                catch(SQLException e)
                {
                    e.printStackTrace();
                }
            }
        }
    
    }
    

    (4)com.Servlet

    AddCurrServlet.java  实现课程的增加

    package com.Servlet;
    
    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.Bean.CurrBean;
    import com.DBUtil.*;
    
    public class AddCurrServlet extends HttpServlet {
    
        private static final long serialVersionUID = 1L;
        
        protected void doPost(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOException{
            resp.setContentType("add.jsp");
            req.setCharacterEncoding("UTF-8");
            
            String name;
            String teacher;
            String place;
            
            name = req.getParameter("cname");
            teacher = req.getParameter("teacher");
            place = req.getParameter("place");
            
            CurrBean currbean = new CurrBean();
            
            currbean.setName(name);
            currbean.setTeacher(teacher);
            currbean.setPlace(place);
            
            AddCurrInterface addCurrInterface = new AddCurrInterface();
            @SuppressWarnings("unused")
            int temp = 0;
            
            try {
                temp = addCurrInterface.addUser(currbean);
                if(temp == 1) {
                    resp.sendRedirect(req.getContextPath()+"/index.jsp");
                }else if(temp == 2) {
                    resp.sendRedirect(req.getContextPath()+"/USEJSP/addnameerror.jsp");
                }
                            
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    
    
    class AddCurrInterface extends HttpServlet{
    
        private static final long serialVersionUID = 1L;
        
        public int addUser(CurrBean cb) throws SQLException {    
            
            String name;
            String teacher;
            String place;
            
            name = cb.getName();
            teacher = cb.getTeacher();
            place = cb.getPlace();
            
            //连接数据库
            Connection conn = CurrDBUtil.getConn();
            PreparedStatement pstmt = null;
            
            Statement stmt = conn.createStatement();
            String selectsql = "select * from curr_info";
            ResultSet rs = stmt.executeQuery(selectsql);
            int tt = 0;
            
            while(rs.next()) {
                if(rs.getString("name").equals(name)) {
                    tt = 2;
                }
            }
            
            
            if(tt == 0) {
                String sql = "insert into curr_info (name,teacher,place) values (?,?,?)";//数据库指令
                pstmt = conn.prepareStatement(sql);//发送sql语句
                //下面是插入到具体的地方
                pstmt.setString(1, name);
                pstmt.setString(2, teacher);
                pstmt.setString(3, place);
                pstmt.executeUpdate();
                
                System.out.println("添加成功!");            
                
                return 1;
            }else if(tt == 2) {            
                return 2;
            }
            
            return 0;
            
        }
        
        
    }
    

      DeleteCurrServlet.java  实现课程的删除

    package com.Servlet;
    
    import java.io.BufferedWriter;
    import java.io.IOException;
    import java.io.OutputStream;
    import java.io.OutputStreamWriter;
    import java.io.PrintWriter;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.DBUtil.CurrDBUtil;
    
    public class DeleteCurrServlet extends HttpServlet {
    
        private static final long serialVersionUID = 1L;
    
        protected void doPost(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOException{
            resp.setContentType("delete.jsp");
            req.setCharacterEncoding("UTF-8");
            
            String name;
            @SuppressWarnings("unused")
            int ii = 0;
            
            name = req.getParameter("cname");
            
            //连接数据库
              Connection conn = CurrDBUtil.getConn();
            try {
                Statement stmt = conn.createStatement();
                
                String selectsql = "select * from curr_info";
                  ResultSet rs = stmt.executeQuery(selectsql);
                  
                  while(rs.next()) {
                      if(rs.getString("name").equals(name)) {
                          ii = rs.getInt("id");
                          //Get output stream and writers
                          OutputStream out=resp.getOutputStream();
                          PrintWriter pw=new PrintWriter(new BufferedWriter(new OutputStreamWriter(out)));
                          //Print HTML
                          pw.println("<HTML><HEAD><TITLE>输出HTML标签</HEAD></TITLE><BODY>");
                          pw.println("<table border="1" bgcolor="#ffffff" align="" cellspacing="1" cellpadding="1">");
                          pw.println("<tr>
    " + 
                                  "<td align="center" width=16%>课程名称</td>
    " + 
                                  "<td align="center" width=16%>任课教师</td>
    " + 
                                  "<td align="center" width=35%>上课地点</td>
    " + 
                                  "</tr>");
                          pw.println("<tr>
    " + 
                                  "<td width=16% align="center">"+rs.getString("name")+"</td>
    " + 
                                  "<td width=16% align="center">"+rs.getString("teacher")+"</td>
    " + 
                                  "<td width=35% align="center">"+rs.getString("place")+"</td>
    " + 
                                  "</tr>");
                          pw.println("该课程已删除!");
                          pw.println("</BODY></HTML>");
                          pw.flush();
                          pw.close();
                      }
                  }
                  
                  
                  String delesql="delete from curr_info where name='"+name+"' ";//生成一条sql语句
                  stmt.executeUpdate(delesql);//执行sql语句
                  
            } catch (SQLException e) {
                e.printStackTrace();
            }        
        
        }
    }
    

      SearchCurrServlet.java  实现课程的查询

    package com.Servlet;
    
    import java.io.BufferedWriter;
    import java.io.IOException;
    import java.io.OutputStream;
    import java.io.OutputStreamWriter;
    import java.io.PrintWriter;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.DBUtil.CurrDBUtil;
    
    public class SearchCurrServlet extends HttpServlet {
        
        private static final long serialVersionUID = 1L;
    
        protected void doPost(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOException{
            resp.setContentType("search.jsp");
            req.setCharacterEncoding("UTF-8");
            
            String name;
            String teacher;
            String place;
            
            name = req.getParameter("cname");
            teacher = req.getParameter("teacher");
            place = req.getParameter("place");
            
            int temp = 0;
            //连接数据库
                  Connection conn = CurrDBUtil.getConn();
                try {
                    Statement stmt = conn.createStatement();
                    String selectsql = "select * from curr_info";
                      ResultSet rs = stmt.executeQuery(selectsql);
                      
                      //Get output stream and writers
                      OutputStream out=resp.getOutputStream();
                      PrintWriter pw=new PrintWriter(new BufferedWriter(new OutputStreamWriter(out)));
                      //Print HTML
                      
                      pw.println("<HTML><HEAD><TITLE>输出HTML标签</HEAD></TITLE><BODY>");
                      pw.println("<table border="1" bgcolor="#ffffff" align="" cellspacing="1" cellpadding="1">");
                      pw.println("<tr>
    " + 
                              "<td align="center" width=16%>课程名称</td>
    " + 
                              "<td align="center" width=16%>任课教师</td>
    " + 
                              "<td align="center" width=35%>上课地点</td>
    " + 
                              "</tr>");
                      while(rs.next()) {
                          if(rs.getString("name").equals(name) || rs.getString("teacher").equals(teacher) || rs.getString("place").equals(place)) {                          
                              pw.println("<tr>
    " + 
                                      "<td width=16% align="center">"+rs.getString("name")+"</td>
    " + 
                                      "<td width=16% align="center">"+rs.getString("teacher")+"</td>
    " + 
                                      "<td width=35% align="center">"+rs.getString("place")+"</td>
    " + 
                                      "</tr>");
                              temp++;
                          }
                          /*
                          else {
                              //Get output stream and writers
                              OutputStream out=resp.getOutputStream();
                              PrintWriter pw=new PrintWriter(new BufferedWriter(new OutputStreamWriter(out)));
                              //Print HTML
                              pw.println("<HTML><HEAD><TITLE>输出HTML标签</HEAD></TITLE><BODY>");
                              pw.println("查询错误!");
                              pw.println("</BODY></HTML>");
                              pw.flush();
                              pw.close();
                          }
                          */                      
                      }
                      if(temp == 0) {
                          pw.println("查询错误!");
                      }
                      
                      pw.println("</BODY></HTML>");
                      pw.flush();
                      pw.close();
                      
                } catch (SQLException e) {
                    e.printStackTrace();
                }        
            
          }
    }
    

      UpdateCurrServlet.java  实现课程的修改

    package com.Servlet;
    
    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.DBUtil.CurrDBUtil;
    
    public class UpdateCurrServlet extends HttpServlet {
    
        private static final long serialVersionUID = 1L;
        
        protected void doPost(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOException{
            resp.setContentType("update.jsp");
            req.setCharacterEncoding("UTF-8");
            
            String tempname;
            String name;
            String teacher;
            String place;
            
            tempname = req.getParameter("tempcname");
            name = req.getParameter("cname");
            teacher = req.getParameter("teacher");
            place = req.getParameter("place");
            
            //连接数据库
              Connection conn = CurrDBUtil.getConn();
              try {
                Statement stmt = conn.createStatement();            
                String updatesql = "update curr_info set name='"+name+"',teacher='"+teacher+"',place='"+place+"' where name='"+tempname+"'";
                stmt.executeUpdate(updatesql);//执行sql语句
                resp.sendRedirect(req.getContextPath()+"/index.jsp");            
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    

      

  • 相关阅读:
    React 源码剖析系列 - 生命周期的管理艺术
    大数据浪潮下的前端工程师
    win7 秘钥
    Immutable 详解及 React 中实践
    js 设置日期函数
    node 一站式 学习 教程
    Python_如何定义带参数的装饰器?
    Python-装饰器中保留被装饰函数元数据
    Python-用装饰器实现递归剪枝
    Python-通过实例方法调用-统一接口的实现-getter methodcaller
  • 原文地址:https://www.cnblogs.com/sonofdemon/p/10093435.html
Copyright © 2011-2022 走看看