javabean+jsp+servlet+jdbc从软件安装到开发实例

时间:2021-09-26 15:32:39

javabean\jsp\servlet\jdbc的作用:

JavaBean:用于传递数据,拥有与数据相关的逻辑处理。JSP:从Model接收数据并生成HTML。Servlet:接收HTTP请求并控制Model和View。jdbc:用于配置环境

首先新建course的数据库:包含name,teacher,classroom,id等字段。

javabean+jsp+servlet+jdbc从软件安装到开发实例

源代码及包的分布

javabean+jsp+servlet+jdbc从软件安装到开发实例

javabean+jsp+servlet+jdbc从软件安装到开发实例

package com.hjf.dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import com.hjf.entity.Course;
import com.hjf.util.DBUtil;

/**
 * 课程Dao
 * Dao层操作数据
 * @author Hu
 *
 */
public class CourseDao {

    /**
     * 添加
     * @param course
     * @return
     */
    public boolean add(Course course) {
        String sql = "insert into course(name, teacher, classroom) values('" + course.getName() + "','" + course.getTeacher() + "','" + course.getClassroom() + "')";
        //创建数据库链接
        Connection conn = DBUtil.getConn();
        Statement state = null;
        boolean f = false;
        int a = 0;
        
        try {
            state = conn.createStatement();
            state.executeUpdate(sql);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            //关闭连接
            DBUtil.close(state, conn);
        }
        
        if (a > 0) {
            f = true;
        }
        return f;
    }

    /**
     * 删除
     * 
     * @param id
     * @return
     */
    public boolean delete (int id) {
        boolean f = false;
        String sql = "delete from course where id='" + id + "'";
        
        Connection conn = DBUtil.getConn();
        Statement state = null;
        int a = 0;
        
        try {
            state = conn.createStatement();
            a = state.executeUpdate(sql);
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(state, conn);
        }
        
        if (a > 0) {
            f = true;
        }
        return f;
    }

    /**
     * 修改
     * @param name
     * @param pass
     */
    public boolean update(Course course) {
        String sql = "update course set name='" + course.getName() + "', teacher='" + course.getTeacher() + "', classroom='" + course.getClassroom()
            + "' where id='" + course.getId() + "'";
        Connection conn = DBUtil.getConn();
        Statement state = null;
        boolean f = false;
        int a = 0;

        try {
            state = conn.createStatement();
            a = state.executeUpdate(sql);
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(state, conn);
        }
        
        if (a > 0) {
            f = true;
        }
        return f;
    }
    
    /**
     * 验证课程名称是否唯一
     * true --- 不唯一
     * @param name
     * @return
     */
    public boolean name(String name) {
        boolean flag = false;
        String sql = "select name from course where name = '" + name + "'";
        Connection conn = DBUtil.getConn();
        Statement state = null;
        ResultSet rs = null;
        
        try {
            state = conn.createStatement();
            rs = state.executeQuery(sql);
            while (rs.next()) {
                flag = true;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(rs, state, conn);
        }
        return flag;
    }
    
    /**
     * 通过ID得到课程信息
     * @param id
     * @return
     */
    public Course getCourseById(int id) {
        String sql = "select * from course where id ='" + id + "'";
        Connection conn = DBUtil.getConn();
        Statement state = null;
        ResultSet rs = null;
        Course course = null;
        
        try {
            state = conn.createStatement();
            rs = state.executeQuery(sql);
            while (rs.next()) {
                String name = rs.getString("name");
                String teacher = rs.getString("teacher");
                String classroom = rs.getString("classroom");
                course = new Course(id, name, teacher, classroom);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(rs, state, conn);
        }
        
        return course;
    }
    
    /**
     * 通过name得到Course
     * @param name
     * @return
     */
    public Course getCourseByName(String name) {
        String sql = "select * from course where name ='" + name + "'";
        Connection conn = DBUtil.getConn();
        Statement state = null;
        ResultSet rs = null;
        Course course = null;
        
        try {
            state = conn.createStatement();
            rs = state.executeQuery(sql);
            while (rs.next()) {
                int id = rs.getInt("id");
                String teacher = rs.getString("teacher");
                String classroom = rs.getString("classroom");
                course = new Course(id, name, teacher, classroom);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(rs, state, conn);
        }
        
        return course;
    }
    
    /**
     * 查找
     * @param name
     * @param teacher
     * @param classroom
     * @return
     */
    public List<Course> search(String name, String teacher, String classroom) {
        String sql = "select * from course where ";
        if (name != "") {
            sql += "name like '%" + name + "%'";
        }
        if (teacher != "") {
            sql += "teacher like '%" + teacher + "%'";
        }
        if (classroom != "") {
            sql += "classroom like '%" + classroom + "%'";
        }
        List<Course> list = new ArrayList<>();
        Connection conn = DBUtil.getConn();
        Statement state = null;
        ResultSet rs = null;

        try {
            state = conn.createStatement();
            rs = state.executeQuery(sql);
            Course bean = null;
            while (rs.next()) {
                int id = rs.getInt("id");
                String name2 = rs.getString("name");
                String teacher2 = rs.getString("teacher");
                String classroom2 = rs.getString("classroom");
                bean = new Course(id, name2, teacher2, classroom2);
                list.add(bean);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(rs, state, conn);
        }
        
        return list;
    }
    
    /**
     * 全部数据
     * @param name
     * @param teacher
     * @param classroom
     * @return
     */
    public List<Course> list() {
        String sql = "select * from course";
        List<Course> list = new ArrayList<>();
        Connection conn = DBUtil.getConn();
        Statement state = null;
        ResultSet rs = null;

        try {
            state = conn.createStatement();
            rs = state.executeQuery(sql);
            Course bean = null;
            while (rs.next()) {
                int id = rs.getInt("id");
                String name2 = rs.getString("name");
                String teacher2 = rs.getString("teacher");
                String classroom2 = rs.getString("classroom");
                bean = new Course(id, name2, teacher2, classroom2);
                list.add(bean);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(rs, state, conn);
        }
        
        return list;
    }

}
package com.hjf.entity;

public class Course {

    private int id;
    private String name;
    private String teacher;
    private String classroom;
    
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    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 getClassroom() {
        return classroom;
    }
    public void setClassroom(String classroom) {
        this.classroom = classroom;
    }
    
    public Course() {}
    
    public Course(int id, String name, String teacher, String classroom) {
        this.id = id;
        this.name = name;
        this.teacher = teacher;
        this.classroom = classroom;
    }
    
    public Course(String name, String teacher, String classroom) {
        this.name = name;
        this.teacher = teacher;
        this.classroom = classroom;
    }
}
package com.hjf.service;

import java.util.List;

import com.hjf.dao.CourseDao;
import com.hjf.entity.Course;

/**
 * CourseService
 * 服务层
 * @author Hu
 *
 */
public class CourseService {

    CourseDao cDao = new CourseDao();
    
    /**
     * 添加
     * @param course
     * @return
     */
    public boolean add(Course course) {
        boolean f = false;
        if(!cDao.name(course.getName())) {
            cDao.add(course);
            f = true;
        }
        return f;
    }
    
    /**
     * 删除
     */
    public void del(int id) {
        cDao.delete(id);
    }
    
    /**
     * 修改
     * @return 
     */
    public void update(Course course) {
        cDao.update(course);
    }
    
    /**
     * 通过ID得到一个Course
     * @return 
     */
    public Course getCourseById(int id) {
        return cDao.getCourseById(id);
    }

    /**
     * 通过Name得到一个Course
     * @return 
     */
    public Course getCourseByName(String name) {
        return cDao.getCourseByName(name);
    }
    
    /**
     * 查找
     * @return 
     */
    public List<Course> search(String name, String teacher, String classroom) {
        return cDao.search(name, teacher, classroom);
    }
    
    /**
     * 全部数据
     * @return 
     */
    public List<Course> list() {
        return cDao.list();
    }
}
package com.hjf.servlet;

import java.io.IOException;
import java.util.List;

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.hjf.entity.Course;
import com.hjf.service.CourseService;

@WebServlet("/CourseServlet")
public class CourseServlet extends HttpServlet {
    
    private static final long serialVersionUID = 1L;

    CourseService service = new CourseService();
    
    /**
     * 方法选择
     */
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");
        String method = req.getParameter("method");
        
        if ("add".equals(method)) {
            add(req, resp);
        } else if ("del".equals(method)) {
            del(req, resp);
        } else if ("update".equals(method)) {
            update(req, resp);
        } else if ("search".equals(method)) {
            search(req, resp);
        } else if ("getcoursebyid".equals(method)) {
            getCourseById(req, resp);
        } else if ("getcoursebyname".equals(method)) {
            getCourseByName(req, resp);
        } else if ("list".equals(method)) {
            list(req, resp);
        }
    }

    /**
     * 添加
     * @param req
     * @param resp
     * @throws IOException 
     * @throws ServletException 
     */
    private void add(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
        req.setCharacterEncoding("utf-8");
        //获取数据
        String name = req.getParameter("name");
        String teacher = req.getParameter("teacher");
        String classroom = req.getParameter("classroom");
        Course course = new Course(name, teacher, classroom);
        
        //添加后消息显示
        if(service.add(course)) {
            req.setAttribute("message", "添加成功");
            req.getRequestDispatcher("add.jsp").forward(req,resp);
        } else {
            req.setAttribute("message", "课程名称重复,请重新录入");
            req.getRequestDispatcher("add.jsp").forward(req,resp);
        }
    }
    
    /**
     * 全部
     * @param req
     * @param resp
     * @throws ServletException 
     */
    private void list(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
        req.setCharacterEncoding("utf-8");
        
        List<Course> courses = service.list();
        req.setAttribute("courses", courses);
        req.getRequestDispatcher("list.jsp").forward(req,resp);
    }

    /**
     * 通过ID得到Course
     * @param req
     * @param resp
     * @throws ServletException 
     */
    private void getCourseById(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
        req.setCharacterEncoding("utf-8");
        int id = Integer.parseInt(req.getParameter("id"));
        Course course = service.getCourseById(id);
        req.setAttribute("course", course);
        req.getRequestDispatcher("detail2.jsp").forward(req,resp);
    }

    /**
     * 通过名字查找
     * 跳转至删除
     * @param req
     * @param resp
     * @throws IOException
     * @throws ServletException 
     */
    private void getCourseByName(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
        req.setCharacterEncoding("utf-8");
        String name = req.getParameter("name");
        Course course = service.getCourseByName(name);
        if(course == null) {
            req.setAttribute("message", "查无此课程!");
            req.getRequestDispatcher("del.jsp").forward(req,resp);
        } else {
            req.setAttribute("course", course);
            req.getRequestDispatcher("detail.jsp").forward(req,resp);
        }
    }
    
    /**
     * 删除
     * @param req
     * @param resp
     * @throws IOException
     * @throws ServletException 
     */
    private void del(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
        req.setCharacterEncoding("utf-8");
        int id = Integer.parseInt(req.getParameter("id"));
        service.del(id);
        req.setAttribute("message", "删除成功!");
        req.getRequestDispatcher("del.jsp").forward(req,resp);
    }
    
    /**
     * 修改
     * @param req
     * @param resp
     * @throws IOException
     * @throws ServletException 
     */
    private void update(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
        req.setCharacterEncoding("utf-8");
        int id = Integer.parseInt(req.getParameter("id"));
        String name = req.getParameter("name");
        String teacher = req.getParameter("teacher");
        String classroom = req.getParameter("classroom");
        Course course = new Course(id, name, teacher, classroom);
        
        service.update(course);
        req.setAttribute("message", "修改成功");
        req.getRequestDispatcher("CourseServlet?method=list").forward(req,resp);
    }
    
    /**
     * 查找
     * @param req
     * @param resp
     * @throws ServletException 
     */
    private void search(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
        req.setCharacterEncoding("utf-8");
        String name = req.getParameter("name");
        String teacher = req.getParameter("teacher");
        String classroom = req.getParameter("classroom");
        List<Course> courses = service.search(name, teacher, classroom);
        req.setAttribute("courses", courses);
        req.getRequestDispatcher("searchlist.jsp").forward(req,resp);
    }
}
package com.hjf.util;

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

/**
 * 数据库连接工具
 * @author Hu
 *
 */
public class DBUtil {
    
    public static String db_url = "jdbc:mysql://localhost:3306/course?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false";
    public static String db_user = "root";
    public static String db_pass = "123456";
    
    public static Connection getConn () {
        Connection conn = null;
        
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");//加载驱动
            conn = DriverManager.getConnection(db_url, db_user, db_pass);
            System.out.println("数据库链接正常");
        } catch (Exception e) {
            e.printStackTrace();
        }
        
        return conn;
    }
    
    /**
     * 关闭连接
     * @param state
     * @param 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();
            }
        }
    }

    public static void main(String[] args) throws SQLException {
        Connection conn = getConn();
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        String sql ="select * from course";
        pstmt = conn.prepareStatement(sql);
        rs = pstmt.executeQuery();
        if(rs.next()){
            System.out.println("空");
        }else{
            System.out.println("不空");
        }
    }
}
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%--设置页面的脚本支持语言为java—导入util包中的类—申明编码方式为UTF-8--%>
<% 
request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
response.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
%>
<%
String path = request.getContextPath(); //相对Path设置
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //相对Path设置
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%--文档声明--%>
<html>
  <head>
    <title>课程信息录入 </title> <%--页面标题--%>
    <body>
    <div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1">    
    <img src="C:\Users\FuHeishi826\Desktop\课程实验\Extreme\background.jpg" height="100%" width="100%"/>    
    </div> 
    <script type="text/javascript" language="JavaScript"> //JS
    function validate()
    {
    var name = document.forms[0].name.value; //创建变量name
    var teacher = document.forms[0].teacher.value; //创建变量teacher
    var local = document.forms[0].local.value; //创建变量address
    if(name.length <= 0){ //判断姓名位数,必填
        alert("课程名称不能为空,请输入课程名称!");
        return false;
    }
    if(teacher.value != '王建民' && teacher.value != '王辉' && teacher.value != '刘丹' && teacher.value != '刘立嘉' && teacher.value != '杨子光'){
        alert('教师名称错误');
        return false;
    }

    if(!/^基教/.test(local.value) && !/^一教/.test(local.value) && !/^二教/.test(local.value) && !/^三教/.test(local.value)) {
        alert('上课地点错误');
        return false;
    }
        //document.getElementById("form").submit();
    }
    </script>
  </head>
  <body>
  <div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1">    
  <img src="C:\Users\FuHeishi826\Desktop\课程实验\Extreme\background.jpg" height="100%" width="100%"/>    
  </div> 
  <br><%--换行--%>
  <center>
  <h2>课程信息录入</h2><hr size="1" noshade color="#000000"><%--横线--%>
 <form action="insert.jsp" method="post" id="form" onSubmit="return validate()" ><%--跳转到insert.jsp文件,方法为post--%>
    <table width="800" border="0" align="center"> <%--表格的宽为800,居中对齐--%>
      <tr>
        <td>课程名称:
          <input type="text" name="name"></td>
      </tr>
      <tr>
        <td>授课教师:
          <input type="text" name="teacher"></td>
      </tr>
      <tr>
        <td>教学地点: <input type="text" name="local"> </td>
      </tr>
      <tr>
        <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="submit" type="submit" value="保存"/></td>
      </tr>
    </table>
    <p>&nbsp;</p>
  </form>
  <a href="showInfo.jsp">查询所有课程信息</a> <%--链接到学生信息查询页面--%>
  </center>
  </body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%--设置页面的脚本支持语言为java—导入util包中的类—申明编码方式为UTF-8--%>
<%@ page import="java.sql.*"%> <%--导入java中的sql包--%>
<%@page import="com.javao.msg.DBUtil"%>
<% 
request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
response.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
%>
<%
String path = request.getContextPath(); //相对Path设置
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //相对Path设置
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%--文档声明--%>
<html>
  <head>
    <base href="<%=basePath%>"> <%--设置基础路径--%>
    <title>删除页面</title> <%--页面标题--%>
  </head>
<body>
<div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1">    
<img src="C:\Users\FuHeishi826\Desktop\课程实验\Extreme\background.jpg" height="100%" width="100%"/>    
</div> 
    <% 
    request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
    String name = request.getParameter("name");
    Connection conn = null; //定义静态数据库连接 //定义静态数据库连接
    Statement stat = null; 
    ResultSet rs = null; //将rs滞空。
    conn = DBUtil.getConnection(); 
    stat = conn.createStatement(); 
    stat.executeUpdate("delete from data where name = '" + name + "'"); //删除data表中的name字段
    rs = stat.executeQuery("select * from data"); //查找data表
    if(rs.next()) //判断结果集
    {
     out.print("<center><br><br><h3>删除成功!</h3></center>"); 
    }
    else{
    out.print("<center><h3>删除失败!</h3></center>");
    }
    %>
    <br>
    <br>
    <center><a href=addStuInfo.jsp>返回添加信息页面</a><br/><br/><a href=showInfo.jsp>返回信息查询页面</a></center> <%--设置居中--%>
    <% 
    if(rs != null)
    {
        rs.close(); //关闭结果集,但是rs还是有null值。
        rs = null; //将rs滞空。
    }
        if(stat != null)
    {
        stat.close(); //关闭stat。
        stat = null; //滞空stat。
    }
        if(conn != null)
    {
        conn.close(); //关闭数据库连接
        conn = null;
    }
    %> 
  </body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Welcome!</title>
</head>
<h1>欢迎来到石家庄铁道大学课程基本信息管理系统</h1><br/><br/>
<body>
<div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1">    
<img src="C:\Users\FuHeishi826\Desktop\课程实验\Extreme\background.jpg" height="100%" width="100%"/>    
</div> <br/><br/>
   <p align="center">
   <a href = "addStuInfo.jsp">课程信息录入</a><br/><br/>
   <a href = "showInfo.jsp">课程信息修改</a><br/><br/>
   <a href = "showInfo.jsp">删除课程信息</a><br/><br/>
   <a href = "showInfo.jsp">查询课程信息</a><br/><br/>
   </p>
</body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%--设置页面的脚本支持语言为java—导入util包中的类—申明编码方式为UTF-8--%>
<%@ page import="java.sql.*"%> <%--导入java中的sql包--%>
<%@page import="com.javao.msg.DBUtil"%>
<% 
request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
response.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
%>
<%
String path = request.getContextPath(); //相对Path设置
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //相对Path设置
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%--文档声明--%>
<html>
  <head>
    <base href="<%=basePath%>"> <%--设置基础路径,basepath为变量--%>
    <title>添加课程信息</title> <%--页面标题--%>
  </head>
   <body>
  <div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1">    
  <img src="C:\Users\FuHeishi826\Desktop\课程实验\Extreme\background.jpg" height="100%" width="100%"/>    
  </div> 
    <% 
    request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
    String name1 = request.getParameter("name");
    String teacher = request.getParameter("teacher");
    String local = request.getParameter("local");
    Connection conn = null; //定义静态数据库连接 
    Statement stat = null; 
    ResultSet rs = null; //将rs滞空。
    conn = DBUtil.getConnection();
    stat = conn.createStatement(); 
    //String sql = ; //向对应的数据字段添加数据
    stat.executeUpdate("insert into data(name,teacher,local) values('" + name1 + "','" + teacher + "','" + local + "')"); 
    rs = stat.executeQuery("select * from data"); //查找data表
%> 
   <center>
   <%
    if(rs.next())
    {
    out.print("<br><h3>课程信息添加成功!</h3>");
    }
    else{
    out.print("<br><h3>课程信息添加失败!</h3>");
    }
    %>
    <br>
    <a href=addStuInfo.jsp>返回课程信息添加页面</a><br/><br/>
    <a href=showInfo.jsp>进入课程信息查询页面</a> 
    </center>
     <%
    if(rs != null)
    {
        rs.close(); //关闭结果集,但是rs还是有null值。
        rs = null; //将rs滞空。
    }
        if(stat != null)
    {
        stat.close(); //关闭stat。
        stat = null; //滞空stat。
    }
        if(conn != null)
    {
        conn.close(); //关闭数据库连接
        conn = null;
    }
    %>     
    </body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%--设置页面的脚本支持语言为java—导入util包中的类—申明编码方式为UTF-8--%>
<%@ page import="java.sql.*"%> <%--导入java中的sql包--%>
<%@page import="com.javao.msg.DBUtil"%>
<% 
request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
response.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
%>
<%
String path = request.getContextPath(); //相对Path设置
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //相对Path设置
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%--文档声明--%>
<html>
  <head>
    <base href="<%=basePath%>"> <%--设置基础路径,basepath为变量--%>
    <title>按教学地点条件查询</title> <%--页面标题--%>
  </head>
  <body>
  <div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1">    
  <img src="C:\Users\FuHeishi826\Desktop\课程实验\Extreme\background.jpg" height="100%" width="100%"/>    
  </div> 
    <% 
    String local = request.getParameter("local");
    Connection conn = null; //定义静态数据库连接 
    Statement stat = null; //滞空stat。
    ResultSet rs = null; //将rs滞空。
    conn = DBUtil.getConnection(); 
    stat = conn.createStatement(); 
    rs = stat.executeQuery("select * from data where local='" + local + "'");//查找data表name字段
    %>
    <br>
    <h3>符合条件的课程信息</h3> <%--标题样式3--%>
    <hr noshade> 
    <br>
     <table width="450" border="100" cellSpacing=1 style="font-size:15pt;border:dashed 1pt"> <%--表格宽度450--%>
    <tr>
    <td>课程名称</td>
    <td>授课教师</td>
    <td>教学地点</td>
    </tr>
    <% 
    if(rs.next())
    {
    out.print("<tr>");
    out.print("<td>" + rs.getString("name") + "</td>"); //输出name内容
    out.print("<td>" + rs.getString("teacher") + "</td>"); //输出age内容
    out.print("<td>" + rs.getString("local") + "</td>"); //输出gender内容
        %>
    <td><a href="delete.jsp?name=<%=rs.getString("name") %>">删除</a></td>
     <td><a href="update.jsp?name=<%=rs.getString("name") %>">修改</a></td>
    <%
    out.print("</tr>");
    }
    else{
    out.print("<h4>不存在此条件的信息!</h4>");
    }
  
    %>
    </table>    
    <br>
    <a href=showInfo.jsp>返回课程信息查询页面</a>
    <% 
    if(rs != null)
    {
        rs.close(); //关闭结果集,但是rs还是有null值。
        rs = null; //将rs滞空。
    }
        if(stat != null) //判断stat是否滞空。
    {
        stat.close(); //关闭stat。
        stat = null; //滞空stat。
    }
        if(conn != null)
    {
        conn.close(); //关闭数据库连接
        conn = null;
    }
    %> 
  </body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%--设置页面的脚本支持语言为java—导入util包中的类—申明编码方式为UTF-8--%>
<%@ page import="java.sql.*"%> <%--导入java中的sql包--%>
<%@page import="com.javao.msg.DBUtil"%>
<% 
request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
response.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
%>
<%
String path = request.getContextPath(); //相对Path设置
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //相对Path设置
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%--文档声明--%>
<html>
  <head>
    <base href="<%=basePath%>"> <%--设置基础路径,basepath为变量--%>
    <title>按课程名称条件查询</title> <%--页面标题--%>
  </head>
  <body>
  <div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1">    
  <img src="C:\Users\FuHeishi826\Desktop\课程实验\Extreme\background.jpg" height="100%" width="100%"/>    
  </div> 
    <% 
    String name = request.getParameter("name");
    Connection conn = null; //定义静态数据库连接 
    Statement stat = null; //滞空stat。
    ResultSet rs = null; //将rs滞空。
    conn = DBUtil.getConnection(); 
    stat = conn.createStatement(); 
    rs = stat.executeQuery("select * from data where name='" + name + "'");//查找data表name字段
    %>
    <br>
    <h3>符合条件的课程信息</h3> <%--标题样式3--%>
    <hr noshade> 
    <br>
     <table width="450" border="100" cellSpacing=1 style="font-size:15pt;border:dashed 1pt"> <%--表格宽度450--%>
    <tr>
    <td>课程名称</td>
    <td>授课教师</td>
    <td>教学地点</td>
    </tr>
    <% 
    if(rs.next())
    {
    out.print("<tr>");
    out.print("<td>" + rs.getString("name") + "</td>"); //输出name内容
    out.print("<td>" + rs.getString("teacher") + "</td>"); //输出age内容
    out.print("<td>" + rs.getString("local") + "</td>"); //输出gender内容
        %>
    <td><a href="delete.jsp?name=<%=rs.getString("name") %>">删除</a></td>
     <td><a href="update.jsp?name=<%=rs.getString("name") %>">修改</a></td>
    <%
    out.print("</tr>");
    }
    else{
    out.print("<h4>不存在此条件的信息!</h4>");
    }
  
    %>
    </table>    
    <br>
    <a href=showInfo.jsp>返回课程信息查询页面</a>
    <% 
    if(rs != null)
    {
        rs.close(); //关闭结果集,但是rs还是有null值。
        rs = null; //将rs滞空。
    }
        if(stat != null) //判断stat是否滞空。
    {
        stat.close(); //关闭stat。
        stat = null; //滞空stat。
    }
        if(conn != null)
    {
        conn.close(); //关闭数据库连接
        conn = null;
    }
    %> 
  </body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%--设置页面的脚本支持语言为java—导入util包中的类—申明编码方式为UTF-8--%>
<%@ page import="java.sql.*"%> <%--导入java中的sql包--%>
<%@page import="com.javao.msg.DBUtil"%>
<% 
request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
response.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
%>
<%
String path = request.getContextPath(); //相对Path设置
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //相对Path设置
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%--文档声明--%>
<html>
  <head>
    <base href="<%=basePath%>"> <%--设置基础路径,basepath为变量--%>
    <title>按授课教师条件查询</title> <%--页面标题--%>
  </head>
  <body>
  <div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1">    
  <img src="C:\Users\FuHeishi826\Desktop\课程实验\Extreme\background.jpg" height="100%" width="100%"/>    
  </div> 
    <% 
    String teacher = request.getParameter("teacher");
    Connection conn = null; //定义静态数据库连接 
    Statement stat = null; //滞空stat。
    ResultSet rs = null; //将rs滞空。
    conn = DBUtil.getConnection(); 
    stat = conn.createStatement(); 
    rs = stat.executeQuery("select * from data where teacher='" + teacher + "'");//查找data表name字段
    %>
    <br>
    <h3>符合条件的课程信息</h3> <%--标题样式3--%>
    <hr noshade> 
    <br>
     <table width="450" border="100" cellSpacing=1 style="font-size:15pt;border:dashed 1pt"> <%--表格宽度450--%>
    <tr>
    <td>课程名称</td>
    <td>授课教师</td>
    <td>教学地点</td>
    </tr>
    <% 
    if(rs.next())
    {
    out.print("<tr>");
    out.print("<td>" + rs.getString("name") + "</td>"); //输出name内容
    out.print("<td>" + rs.getString("teacher") + "</td>"); //输出age内容
    out.print("<td>" + rs.getString("local") + "</td>"); //输出gender内容
        %>
    <td><a href="delete.jsp?name=<%=rs.getString("name") %>">删除</a></td>
     <td><a href="update.jsp?name=<%=rs.getString("name") %>">修改</a></td>
    <%
    out.print("</tr>");
    }
    else{
    out.print("<h4>不存在此条件的信息!</h4>");
    }
  
    %>
    </table>    
    <br>
    <a href=showInfo.jsp>返回课程信息查询页面</a>
    <% 
    if(rs != null)
    {
        rs.close(); //关闭结果集,但是rs还是有null值。
        rs = null; //将rs滞空。
    }
        if(stat != null) //判断stat是否滞空。
    {
        stat.close(); //关闭stat。
        stat = null; //滞空stat。
    }
        if(conn != null)
    {
        conn.close(); //关闭数据库连接
        conn = null;
    }
    %> 
  </body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%--设置页面的脚本支持语言为java—导入util包中的类—申明编码方式为UTF-8--%>
<%@ page import="java.sql.*"%> <%--导入java中的sql包--%>
<%@page import="com.javao.msg.DBUtil"%>
<% 
request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
response.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
%>
<%
String path = request.getContextPath(); //相对Path设置
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //相对Path设置
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%--文档声明--%>
<html>
  <head>
    <title>课程信息</title> <%--页面标题--%>

  </head>
  <body>
  <div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1">    
  <img src="C:\Users\FuHeishi826\Desktop\课程实验\Extreme\background.jpg" height="100%" width="100%"/>    
  </div> 
  <% 
    response.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
    request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
    String name = request.getParameter("name");
    String teacher = request.getParameter("teacher");
    String address = request.getParameter("local");
    Connection conn = null; //定义静态数据库连接 
    Statement stat = null; 
    ResultSet rs = null; //将rs滞空。
    conn = DBUtil.getConnection(); 
    stat = conn.createStatement(); 
    rs = stat.executeQuery("select * from data"); //查找data表
  %>
  <br>
  <h2>课程信息</h2> <%--标题样式2--%>
  <hr noshade>    
  <br> 
  <h3>全部课程信息如下</h3> <%--标题样式3--%>
   <table width="562" border="100" cellSpacing=3 style="font-size:15pt;border:dashed 1pt"> <%--表格宽度450--%>
    <tr>
    <td width="110">课程名称</td>
    <td width="110">授课教师</td>
    <td width="211">教学地点</td>
    </tr>
    <% 
    while(rs.next())
    {
    out.print("<tr>");
    out.print("<td>" + rs.getString("name") + "</td>"); //输出name内容
    out.print("<td>" + rs.getString("teacher") + "</td>"); //输出gender内容
    out.print("<td>" + rs.getString("local") + "</td>"); //输出major内容
    %>
    <td><a href="delete.jsp?name=<%=rs.getString("name") %>">删除</a></td>
    <td><a href="update.jsp?name=<%=rs.getString("name") %>">修改</a></td>
    <%
    out.print("</tr>");
    }
    %>
    </table>  
    <br>
       <form action="select_for_name.jsp" method="post"> <%--post方法跳转到select_for_age.jsp文件--%>
    <h3>按课程名称查询:
    <input type="text" name="name"  value="" title="课程名称不能为空" ></input>
    <input type="submit" value="查询"/>
    <br>
    </h3>
    </form>
    <form action="select_for_teacher.jsp" method="post"> <%--post方法跳转到select_for_gender.jsp文件--%>
  <h3> 按授课教师查询:
    <input type="text" name="teacher" value="" title="授课教师"></input>
    <input type="submit" value="查询"/>
    <br>
  </h3>
</form>
<form action="select_for_local.jsp" method="post"> <%--post方法跳转到select_for_major.jsp文件--%>
  <h3> 按教学地点查询:
    <input type="text" name="local" value="" title="教学地点"></input>
    <input type="submit" value="查询"/>
    <br>
  </h3>
</form>
<a href=addStuInfo.jsp>返回添加课程信息页面</a>
<% 
    if(rs != null)
    {
        rs.close(); //关闭结果集,但是rs还是有null值。
        rs = null; //将rs滞空。
    }
        if(stat != null)
    {
        stat.close(); //关闭stat。
        stat = null; //滞空stat。
    }
        if(conn != null)
    {
        conn.close(); //关闭数据库连接
        conn = null;
    }
    %>
  </body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%--设置页面的脚本支持语言为java—导入util包中的类—申明编码方式为UTF-8--%>
<%@ page import="java.sql.*"%> <%--导入java中的sql包--%>
<%@page import="com.javao.msg.DBUtil"%>
<% 
request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
response.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
%>
<%
String path = request.getContextPath(); //相对Path设置
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //相对Path设置
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%--文档声明--%>
<html>
  <head>
    <title>课程信息</title> <%--页面标题--%>
    <body>
    <div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1">    
    <img src="C:\Users\FuHeishi826\Desktop\课程实验\Extreme\background.jpg" height="100%" width="100%"/>    
    </div> 
    <%--JS--%>
    <script type="text/javascript"">
    function validate()
    {
    var name = document.forms[0].name.value;
    var teacher = document.forms[0].age.value;
    var local = document.forms[0].major.value;
    if(name.length <= 0){
        alert("姓名不能为空,请输入姓名!");
        return false;
    }
    else if(teacher.length <= 0){
        alert("请输入正确教师姓名!");
        return false;
    }

        else if(local.length <= 0){
        alert("教学地点不能为空,请输入正确教学地点!");
        return false;
    }

    else{
        return true;
    }
        //document.getElementById("form").submit();
    }
    </script>
  </head>
  <body background="img/background.jpg">
    <% 
    response.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
    request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
    String name = request.getParameter("name");
    String teacher = request.getParameter("teacher");
    String local = request.getParameter("local");
    Connection conn = null; //定义静态数据库连接 
    Statement stat = null; //滞空stat。
    ResultSet rs = null; //将rs滞空。
    conn = DBUtil.getConnection(); 
    stat = conn.createStatement(); 
    rs = stat.executeQuery("select * from data where name='" + name + "'"); //查找data表id字段
  %>
  <br>
  <h2>课程信息</h2>  
  <hr noshade>    
  <br> 
  <h3>要修改的课程信息如下</h3> 
  <table width="450" border="0" cellpadding="1" cellSpacing=1 style="font-size:15pt;border:dashed 1pt">
  <tr align="center">
    <td>课程名称</td>
    <td>授课教师</td>
    <td>教学地点</td>
    </tr>
     <% 
    while(rs.next())
    {
    out.print("<tr align='center'>"); //居中对齐
    out.print("<td>" + rs.getString("name") + "</td>"); //输出name内容
    out.print("<td>" + rs.getString("teacher") + "</td>"); //输出gender内容
    out.print("<td>" + rs.getString("local") + "</td>"); //输出major内容
    out.print("</tr>");
    %>
    </table>
    <br>
    <br>
    <h3>将学生信息更改为:</h3>
    <form action="updateShow.jsp" method="post" onSubmit="return validate()"> 
<h4>课程名称:<input type="text" name="name" value="<%=rs.getString("name") %>" title="课程名称不能改变" onClick="return checkName(name)"readonly="readonly"></input><br></h4>
<h4>授课教师:<input type="text" name="teacher" title="授课教师不能为空"></input><br></h4>
<h4>教学地点:<input type="text" name="local" title="授课教师不能为空"></input><br></h4>
 <input type="submit" value="修改"/>
  </form>
<a href=addStuInfo.jsp>返回添加信息页面</a><br/><a href=showInfo.jsp>返回信息查询页面</a>
<%
  }
 %>
      <% 
    if(rs != null)
    {
        rs.close(); //关闭结果集,但是rs还是有null值。
        rs = null; //将rs滞空。
    }
        if(stat != null)
    {
        stat.close(); //关闭stat。
        stat = null; //滞空stat。
    }
        if(conn != null)
    {
        conn.close(); //关闭数据库连接
        conn = null;
    }
    %> 
  </body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%--设置页面的脚本支持语言为java—导入util包中的类—申明编码方式为UTF-8--%>
<%@ page import="java.sql.*"%> <%--导入java中的sql包--%>
<%@page import="com.javao.msg.DBUtil"%>
<% 
request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
response.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
%>
<%
String path = request.getContextPath(); //相对Path设置
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //相对Path设置
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%--文档声明--%>
<html>
  <head>
    <base href="<%=basePath%>"> 
    <title>修改页面</title> 
  </head>
  <body>
  <div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1">    
  <img src="C:\Users\FuHeishi826\Desktop\课程实验\Extreme\background.jpg" height="100%" width="100%"/>    
  </div> 
    <%
    request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
    String name1 = request.getParameter("name");
    String teacher1 = request.getParameter("teacher");
    String local1 = request.getParameter("local");
    Connection conn = null; //定义静态数据库连接 
    Statement stat = null; 
    conn = DBUtil.getConnection(); 
    stat = conn.createStatement(); 
    stat.execute("update data set name='" + name1 + "' ,teacher='" + teacher1 + "',local='" + local1+"' where name='" + name1 + "'"); 
    ResultSet rs = stat.executeQuery("select * from data where name='" + name1 + "'"); //查找data表id字段
    %>
   <br>
   <h3>修改成功!</h3> <%--标题样式3--%>
   <br>
   <h3>修改后的信息为:</h3> <%--标题样式3--%>
   <hr noshade>
   <br>
   <br>
   <table width="450" border="100" cellSpacing=1 style="font-size:15pt;border:dashed 1pt"> <%--表格宽度450--%>
    <tr>
    <td>课程名称</td>
    <td>授课教师</td>
    <td>教学地点</td>
    </tr>
    <% 
    while(rs.next())
    {
    out.print("<tr>");
    out.print("<td>" + rs.getString("name") + "</td>"); //输出name内容
    out.print("<td>" + rs.getString("teacher") + "</td>"); //输出gender内容
    out.print("<td>" + rs.getString("local") + "</td>"); //输出major内容
    out.print("</tr>");
    }
    %>
    </table>
    <br>
    <br>
    <a href=addStuInfo.jsp>返回添加信息页面</a><br/><a href=showInfo.jsp>返回信息查询页面</a>
    <% 
    if(rs != null)
    {
        rs.close(); //关闭结果集,但是rs还是有null值。
        rs = null; //将rs滞空。
    }
        if(stat != null)
    {
        stat.close(); //关闭stat。
        stat = null; //滞空stat。
    }
        if(conn != null)
    {
        conn.close(); //关闭数据库连接
        conn = null;
    }
    %> 
  </body>
</html>