Servlet+纯java+MySQL实现课程信息的增删改查

Dbutil:

package com.zh.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;

public class DButil {
    public static Connection getConnection(){
        Connection conn = null;
        try {
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        String url="jdbc:mysql://localhost:3306/teacher_class?serverTimezone=UTC";
        conn=DriverManager.getConnection(url, "root", "hao19990507.");
        }catch (Exception e){
            e.printStackTrace();
        }
        return conn;
    }
    
    public static void close(Statement sta,Connection con){
        if (sta != null) {
            try {
                sta.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        
        if (con != null) {
            try {
                con.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    public static void close(ResultSet rs,Statement sta,Connection con){
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        
        if (sta != null) {
            try {
                sta.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        
        if (con != null) {
            try {
                con.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

bean:

package com.zh.entity;



    public class bean {
    private String place;
    private String teacher_name;
    private String class_name;
    public String get_place() {
        return place;
    }
    public void set_place(String place) {
        this.place=place;
    }
    public String get_teacher_name() {
        return teacher_name;
    }
    public void set_teacher_name(String teacher_name) {
        this.teacher_name=teacher_name;
    }
    public String get_class_name() {
        return class_name;
    }
    public void set_class_name(String class_name) {
        this.class_name=class_name;
    }
    public bean() {};
    
    public bean(String place,String teacher_name,String class_name) {
        this.place=place;
        this.teacher_name=teacher_name;
        this.class_name=class_name;
        }
}

data_dao:

package com.zh.dao;
import java.util.*;
import java.sql.*;
import com.zh.entity.*;
import com.zh.util.*;
import java.sql.*;
public class data_dao {
    /*增加
     * 
     */
public void add(bean Bean) {
    String sql="insert into class_message values('"+Bean.get_place()+"','"+Bean.get_teacher_name()+"','"+Bean.get_class_name()+"')";
    Connection conn = DButil.getConnection();
    Statement state = null;
    try {
        state = conn.createStatement();
        state.executeUpdate(sql);
    } catch (Exception e) {
        e.printStackTrace();
    } 
}
/*删除
 * 
 */
public void deleteByteacher_name(String teacher_name) {
    boolean f=false;
    String sql="delete from class_message where teacher_name='"+teacher_name+"'";
    Connection conn=DButil.getConnection();
    Statement state = null;
    
    try {
        
        state = conn.createStatement();
        state.executeUpdate(sql);
    } catch (SQLException e) {
        e.printStackTrace();
    } 
    
    }
         /* 修改
         * 
         */

public void updata(bean b) {
    String sql="updata class_message set place='"+b.get_place()+"', teacher_name='"+b.get_teacher_name()+"',class_name='"+b.get_class_name()+"' where teacher_name='"+b.get_teacher_name()+"'";
    
    Connection conn=DButil.getConnection();
    Statement state = null;
    try {
        state = conn.createStatement();
        state.executeUpdate(sql);
    } catch (SQLException e) {
        e.printStackTrace();
    } 
    

}
/**
 * 验证课程名称是否唯一
 */
public List<bean> isOnly_class_name(String class_name) {
    List list=new ArrayList<bean>();
    String sql="select name from class_message where class_name='"+class_name+"'";
    Connection conn=DButil.getConnection();
    Statement state=null;
    ResultSet rs = null;
    try {
        state = conn.createStatement();
        rs = state.executeQuery(sql);
        while(rs.next()) {
            String class_name1=rs.getString("class_name");
            String teacher_name=rs.getString("teacher_name");
            String place=rs.getString("place");
            bean b=new bean(place,teacher_name,class_name1);
            list.add(b);
        }
    } catch (SQLException e) {
    e.printStackTrace();
}
    return list;
}

                                                                                                                                                                                                                                                                       
/**
 * 通过teacher_name获得一个bean对象
 */
public bean findByteacher_name(String teacher_name) {
        Connection conn=null;
    Statement state=null;
    
    try {
        conn=DButil.getConnection();
        String sql="select*from class_message where teacher_name='"+teacher_name+"'";
        
        state=conn.createStatement();
        ResultSet rs=state.executeQuery(sql);
        bean u=new bean();;
        while(rs.next()) {
            String t_name=rs.getString("teacher_name");
            String c_name=rs.getString("class_name");
            String place=rs.getString("place");
            u.set_class_name(c_name);
            u.set_place(place);
            u.set_teacher_name(t_name);
            return u;
        }
    }catch (Exception e) {
        e.printStackTrace();
        }

return null;
}
/*
 * 显示全部
 */
public List<bean> findAll(){
    Connection conn=DButil.getConnection();
    List<bean> list=new ArrayList<bean>();
    bean b=null;
    try {
    Statement sta=conn.createStatement();
    String sql="select * from class_message";
    ResultSet rs=sta.executeQuery(sql);
        while(rs.next()) {
            b=new bean();
            String t_name,c_name,place;
            t_name=rs.getString("teacher_name");
            c_name=rs.getString("c_name");
            place=rs.getString("place");
            b.set_class_name(c_name);
            b.set_place(place);
            b.set_teacher_name(t_name);
            list.add(b);
        }
    }catch (Exception e) {
        e.printStackTrace();
    }
    for(int i=0;i<list.size();i++) {
        bean br=(bean)list.get(i);
        System.out.println(br.get_teacher_name());
    }
    return list;
}
}

Userservice:

package com.zh.service;
import java.util.*;
import com.zh.dao.*;
import com.zh.entity.*;
public class Userservice {
public boolean insertUser(String place,String teacher_name,String class_name) {
    data_dao dao=new data_dao();
    bean b=new bean();
    b.set_class_name(class_name);
    b.set_place(place);
    b.set_teacher_name(teacher_name);
    try {
    dao.add(b);
    return true;
    }catch (Exception e) {
        e.printStackTrace();
        return false;
    }
}
public boolean deleteUser(String teacher_name) {
    data_dao dao=new data_dao();
    bean b=dao.findByteacher_name(teacher_name);
    if(b!=null) {
        dao.deleteByteacher_name(teacher_name);
        return true;
    }else 
        return false;
}
public boolean updataByteacher_name(String place,String class_name,String teacher_name) {
    data_dao dao=new data_dao();
    bean b=new bean(place,class_name,teacher_name);
    try {
        dao.updata(b);
        return true;
    }catch (Exception e) {
        e.printStackTrace();
        return false;
    }
    }
public boolean isOnly_classname(String class_name) {
    data_dao dao=new data_dao();
    try {
        List list=dao.isOnly_class_name(class_name);
        if(list.size()>1)
            return true;
        else
            return false;
    }catch (Exception e) {
        e.printStackTrace();
        return false;
    }
}

public List<bean> findAll_user(){
    data_dao dao=new data_dao();
    List list=dao.findAll();
    return list;
}
}

DeleteServlet:

package com.zh.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.zh.service.*;
@WebServlet("/DeleteServlet")
public class DeleteServlet extends HttpServlet {
    
       protected void service(HttpServletRequest arg0,HttpServletResponse arg1) 
               throws ServletException ,IOException{
           arg1.setContentType("text/html");
           arg0.setCharacterEncoding("GBK");
           arg1.setCharacterEncoding("GBK");
           String name=arg0.getParameter("teacher_name");
           Userservice service =new Userservice();
           service.deleteUser(name);
           try {
               arg0.getRequestDispatcher("/query").forward(arg0, arg1);
           }catch (Exception e) {
               e.printStackTrace();
           }
       }
    
   }

InsertServlet:

package com.zh.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.zh.service.*;
@WebServlet("/InsertServlet")
public class InsertServlet extends HttpServlet {
    protected void service(HttpServletRequest req,HttpServletResponse res) 
            throws ServletException,IOException {
        res.setContentType("text/html");
        req.setCharacterEncoding("GBK");
        res.setCharacterEncoding("GBK");
        String place=req.getParameter("place");
        String teacher_name=req.getParameter("teacher_name");
        String class_name=req.getParameter("class_name");
        PrintWriter pw=res.getWriter();
        Userservice service=new Userservice();
        try {
            service.insertUser(place, teacher_name, class_name);
            pw.println("新增信息成功!");
            req.getRequestDispatcher("/query").forward(req, res);;
        }catch (Exception e) {
            e.printStackTrace();
            req.getRequestDispatcher("/insert.html").forward(req, res);
        }
    }

    
    

}

QueryServlet:

package com.zh.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
import com.zh.entity.*;
import com.zh.service.*;
import java.util.*;
@WebServlet("/QueryServlet")
public class QueryServlet extends HttpServlet {
    protected void service(HttpServletRequest req,HttpServletResponse res) 
            throws ServletException,IOException {
        res.setContentType("text/html");
        req.setCharacterEncoding("GBK");
        res.setCharacterEncoding("GBK");
        PrintWriter pw=res.getWriter();
        Userservice service=new Userservice();
        List list=service.findAll_user();
        pw.println("<html>");
        pw.println("<head>");
        pw.println("</head>");
        pw.println("<body>");
        pw.println("<table border='1' bordercolor='red' align='center'");
        pw.println("<tr>");
        pw.println("<td>");
        pw.println("地点");
        pw.println("</td>");
        pw.println("<td>");
        pw.println("教师名");
        pw.println("</td>");
        pw.println("<td>");
        pw.println("课程名");
        pw.println("</td>");
        pw.println("</tr>");
        for(int i=0;i<list.size();i++) {
        bean b=(bean) list.get(i);
        pw.println("<tr>");
        pw.println("<td>");
        pw.println(b.get_place());
        pw.println("</td>");
        pw.println("<td>");
        pw.println(b.get_teacher_name());
        pw.println("</td>");
        pw.println("<td>");
        pw.println(b.get_class_name());
        pw.println("/<td>");
        pw.println("<a href='/Web_operation1/delete?teacher_name="+b.get_teacher_name()+"'> 删 除   </a>||<a href='/Web_operation1/updata.html'>修改信息</a>" );
                pw.println("</td>");
                pw.println("</tr>");
        }
        pw.println("</table>");
        pw.println("</body>");
        pw.println("</html>");
        pw.flush();
        pw.close();
}
}

UpdateServlet:

package com.zh.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
import com.zh.service.*;

@WebServlet("/UpdataServlet")
public class UpdateServlet extends HttpServlet {
protected void service(HttpServletRequest req,HttpServletResponse res) 
        throws ServletException,IOException {
    res.setContentType("text/html");
    req.setCharacterEncoding("GBK");
    res.setCharacterEncoding("GBK");
    PrintWriter pw=res.getWriter();
    Userservice service=new Userservice();
    String place=req.getParameter("place");
    String teacher_name=req.getParameter("teacher_name");
    String class_name=req.getParameter("class_name");
    try {
        if (service.updataByteacher_name(place, class_name, teacher_name)) {
            res.sendRedirect("/Web_operation1/query");
        }
    }catch (Exception e) {
        e.printStackTrace();
    }
}
}

insert.html:

<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta charset="UTF-8">
<title>Insert </title>
</head>
<body>
<center>
<form action="/Web_operation1/insert"medthod="post">
   <table border ="1" bordercolor="red"align="center">
   <tr>
   <td>
     上课地点:
     </td>
     <td>
     <input type="text" name="place"/>
     </td>
     
     </tr>
   <tr>
   <td>
   任课教师:
   </td>
   <td>
   <input type="text" name="teacher_name"/>
   </td>
   </tr>
   <tr>
   <td>
   课程名称:
   </td>
   <td>
   <input type="text" name="class_name"/>;
   </td>
   </tr>
   </table>
   </form>
   </center>              
</body>
</html>

update.html:

<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta charset="UTF-8">
<title>update</title>
</head>
<body>
<center>
<form action="/Web_operation1/update" method="post">
<table border="1"bordercolor="red" align="center">
<tr>
<td> 上课地点:</td>
<td>
<input type="text" name="place">
</td>
</tr>
<tr>
<td> 任课教师:</td>
<td>
<input type="text" name="teacher_name">
</td>
</tr>
<tr>
<td> 课程名称:</td>
<td>
<input type="text"name="class_name">
</td>
</tr>
<tr>
 <td colspan="2"align="center">
 <input type="button" value="确认">
 </td>
 </tr>
</table>
</form>
</body>
</html>

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0">
  <display-name>Web_operation1</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>query</servlet-name>
  <servlet-class>com.zh.servlet.QueryServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>query</servlet-name>
  <url-pattern>/query</url-pattern>
  </servlet-mapping>
  <servlet>
  <servlet-name>delete</servlet-name>
  <servlet-class>com.zh.servlet.DeleteServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>delete</servlet-name>
  <url-pattern>/delete</url-pattern>
  </servlet-mapping>
  <servlet>
  <servlet-name>update</servlet-name>
  <servlet-class>com.zh.servlet.UpdateServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>update</servlet-name>
  <url-pattern>/update</url-pattern>
  </servlet-mapping>
  <servlet>
  <servlet-name>insert</servlet-name>
  <servlet-class>com.zh.servlet.InsertServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>insert</servlet-name>
  <url-pattern>/insert</url-pattern>
  </servlet-mapping>
  
</web-app>

 

转载于:https://www.cnblogs.com/zhang188660586/p/10095350.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 课程管理系统是一款软件系统,用于管理和维护学校的课程信息。为了实现增删改查功能,需要使用多种技术和工具。其中,JSP和ServletJavaWeb中的核心技术,用于实现网页的动态生成和交互。JDBC则是Java操作数据库的标准方式,用于连接和操作MySQL数据库。 为了实现增删改查的功能,首先需要建立数据库,包括建立课程信息表、学生信息表等相关表格。然后,需要编写JSP页面,实现用户与系统交互的界面,如添加、删除、更新和查询课程信息的页面。接着,使用Servlet处理用户的请求,对数据库进行操作,根据用户的需求来增删改查数据,将结果返回到JSP界面上。 具体操作步骤是,首先编写一个servlet程序,通过JDBC连接数据库,并实现Servlet中的doGet方法,处理GET请求,用于查询课程信息,将数据传回JSP界面上。同时,还需实现doPost方法,处理POST请求,用于添加、删除和更新课程信息,先获取用户提交的数据,然后使用SQL语句实现对数据表的增删改查操作。最后,将结果返回给用户。这样,就能够实现一个简单的课程管理系统。 总之,对于课程管理系统的实现,需要掌握Java Web相关技术和MySQL数据库的基础知识,编写JSP页面、Servlet程序,实现增删改查操作。相信通过不断的学习和实践,可以实现更加高效和优秀的课程管理系统。 ### 回答2: JSP (JavaServer Pages) 是一种动态网页开发技术,是 Java Servlet 技术的扩展,可以使用 Java 代码嵌入 HTML 页面中,可以以类似于PHP的方式动态生成网页。课程管理系统可以采用 JSP 技术来实现页面的动态生成和数据的呈现,比如可以使用 JSTL 标签库来实现动态表格的生成。 ServletJava 语言编写的服务器端程序,可以接收和处理客户端发送的请求,生成响应并返回给客户端。课程管理系统可以采用 Servlet 技术来实现数据库的交互,比如可以使用 Servlet 接收 JSP 页面传来的请求,然后调用 DAO(数据访问对象)层的代码来访问数据库。 JDBC 是 Java 数据库连接技术,可以使用 JDBC 来访问各种数据库,包括 MySQL课程管理系统可以采用 JDBC 技术来访问 MySQL 数据库,比如可以使用 MySQL Connector/J 驱动来建立连接,然后使用 JDBC API 来执行 SQL 查询。 MySQL 是一种关系型数据库管理系统,是开源且免费的。课程管理系统可以采用 MySQL 来存储课程信息和用户信息,比如可以创建两个表格,一个用于存储课程信息,一个用于存储用户信息。对于增删改查操作,可以编写相应的 SQL 语句,然后使用 JDBC API 来执行这些 SQL 语句。 在具体实现过程中,我们可以将每个功能模块封装成 DAO 对象,然后在 Servlet 中实例化这些 DAO 对象,从而实现数据库的交互。比如,课程管理系统中可以有一个 CourseDAO 类,用于实现课程信息表格的增删改查操作。在 Servlet 中,我们可以通过实例化 CourseDAO 对象,然后调用其相应的方法来实现课程信息的管理。同样的,我们也可以编写一个 UserDAO 类来实现对用户信息表格的增删改查操作。 总之,使用 JSP、Servlet、JDBC 和 MySQL 可以很方便地实现一个课程管理系统,使其具有动态页面展示和数据库交互的功能。 ### 回答3: JSP、Servlet、JDBC、MySQLJava Web 开发中常用的技术框架和数据库。其中 JSP 和 ServletJava Web 开发的核心技术,JDBC 是 Java 访问关系型数据库的标准接口,而 MySQL 是一种流行的开源关系型数据库,可以用来存储和管理数据。通过这些技术选型,可以实现一个功能齐全的课程管理系统,具体实现步骤如下: 一、需求分析 在系统设计阶段,首先需要了解业务需求和功能要求,明确系统的基本框架和模块划分,这个过程需要和业务人员充分沟通和确认。例如,在课程管理系统中,需要实现课程增删改查,学生的选课和退课等功能。 二、技术选型 在确定业务需求和功能要求之后,需要选择合适的技术框架和数据库,以实现系统功能和性能的最佳组合。例如,在课程管理系统中,可以选择使用 JSP 和 Servlet 技术框架,JDBC 接口实现数据操作,MySQL 数据库存储和管理数据。 三、系统设计 在决定了技术框架和数据库之后,需要进行详细的系统设计和模块划分。例如,在课程管理系统中,需要设计学生、课程、学生选课等实体数据的表结构和关联关系。与此同时,需要设计页面和控制器等程序代码,实现系统功能和交互逻辑。 四、系统实现 在系统设计完成之后,可以开始实现代码。在实现代码时,需要编写 JSP 页面代码、Servlet 程序代码、JDBC 驱动程序代码和 MySQL 数据库配置代码等。例如,在课程管理系统中,可以实现课程管理页面、学生管理页面、选课页面等,通过 Servlet 程序和 JDBC 接口实现数据的增删改查操作,最后通过 MySQL 数据库存储和管理数据。 五、系统测试 在实现代码之后,需要进行一定程度的测试,包括单元测试、集成测试和验收测试等。例如,在课程管理系统中,需要测试对课程、学生、选课等数据的正确性和有效性,确保系统功能和性能达到预期要求。 六、系统部署 在系统测试通过之后,可以将系统部署到生产环境中。例如,在课程管理系统中,需要将代码部署到 Web 服务器上,并配置好 MySQL 数据库和相关服务,确保系统可以稳定运行和提供业务服务。 综上所述,通过使用 JSP、Servlet、JDBC 和 MySQL 等技术框架和数据库,可以实现一个功能齐全的课程管理系统,具体实现过程需要进行需求分析、技术选型、系统设计、系统实现、系统测试和系统部署等多个步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值