Javaweb 新课程添加

项目目录如下:

 

 具体的实现过程如下:

(1)先在SQLyog中直接创建jbdcstudy数据库和lesson表,详细信息如下(ipp是课程名称,teacher是老师名字,position是上课地点):

 

 (2)在IDEA中新建Maven项目,具体选择如下:

 

 

 

(3)在pom.xml中导入相对应需要的依赖:(注意,如果在这里不是使用的Maven则需要进行手动导入jar包。而且对应的jar包必须和mysql的版本相对应,否则会报错。切记,版本问题!版本问题!版本问题!

复制代码
<dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>4.0.1</version>
      <scope>provided</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.26</version>
    </dependency>
复制代码

 (4)进行TomCat的配置(安装完TomCat并配置完变量后可以打开bin目录下的startup.bat,然后打开浏览器输入localhost:8080。当然这里可以手动进行修改为你自己上传的web,狂神的视频里有将,感兴趣的可以去康康,挺香的)

 

 

 

 (5)在web.xml文件中进行注册:

 

 

 

 (6)在根目录下创建JBDC工具类去连接数据库:(注意应当把数据库连接的地方和对数据库操作的部分分开来写)

复制代码
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;

public class JDBCUtils {
  //用户信息和url public static String url = "jdbc:mysql://localhost:3306/jdbcstudy?&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=true";
  //这个语句中,jdbcstudy为相对应连接的数据库名 public static String user = "root";
  //数据库用户名 public static String driver = "com.mysql.cj.jdbc.Driver";
  //此处,如果mysql版本为较老,driver值应为"com.msyql.jdbc.Driver" public static String password = "123456";   //密码 static { try {
       //加载驱动 Class.forName(driver); } catch (Exception e) { e.printStackTrace(); } }   //连接成功,数据库对象,Connection代表数据库 public static Connection getConnection() throws SQLException { return DriverManager.getConnection(url, user, password); }
   public static void release(Connection conn, PreparedStatement st, ResultSet rs, Statement stt) { if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (st != null) { try { st.close(); } catch (SQLException e) { e.printStackTrace(); } } if (stt != null) { try { stt.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
复制代码

(7)编写servelet(这里图省事儿直接把对数据库操作搞里头)

复制代码
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.*;
import java.util.HashSet;
import java.util.Set;

public class servlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
    {
        req.setCharacterEncoding("UTF-8");
        resp.setCharacterEncoding("UTF-8");

        String classname = req.getParameter("classname");
        String teachername = req.getParameter("teachername");
        String place = req.getParameter("place");
     //这里使用hashset,以确保课程信息不会出现重复
        Set<String> hashSet = new HashSet<String>(8);
        hashSet.add("王建民");
        hashSet.add("刘立嘉");
        hashSet.add("刘丹");
        hashSet.add("杨子光");
        hashSet.add("张云霞");
        hashSet.add("武勇亮");
        hashSet.add("高飞");
        if (!hashSet.contains(teachername))
        {
            resp.getWriter().print("<script> alert(\"Teacher name input error\") </script>");
            return;
        }

        Set<String> hashSet2 = new HashSet<String>(5);
        hashSet2.add("一教");
        hashSet2.add("二教");
        hashSet2.add("三教");
        hashSet2.add("四教");
        //System.out.println(classname);
        if (!hashSet2.contains(place))
        {
            resp.getWriter().print("<script> alert(\"Classroom location input error\") </script>");
            return;
        }

        Connection conn = null;
        ResultSet rs = null;
        Statement stt = null;
        try
        {
            conn = JDBCUtils.getConnection();
            stt = conn.createStatement();
            String sql = "select * from lesson";
            rs = stt.executeQuery(sql);

            while (rs.next())
            {
                if (rs.getString("ipp").equals(classname))
                {
                    resp.getWriter().print("<script> alert(\"Duplicate course name, please re-enter\") </script>");
                    return;
                }
            }
        }
        catch (SQLException e)
        {
            e.printStackTrace();
        }

        try
        {

            conn = JDBCUtils.getConnection();
            String sql = "insert into `lesson`(`ipp`,`teacher`,`position`) values(?,?,?)";
            PreparedStatement st = null;

            try
            {
                //创建语句传输对象
                st = conn.prepareStatement(sql);

                st = conn.prepareStatement(sql);
                st.setString(1, classname);
                st.setString(2, teachername);
                st.setString(3, place);
                st.executeUpdate();
                int i = st.executeUpdate(sql);
                if (i > 0)
                {
                    System.out.println("插入成功");
                }
            }
            catch (SQLException e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            finally
            {
                //关闭资源
                JDBCUtils.release(conn, st, rs, stt);
            }
        }
        catch (SQLException e)
        {
            e.printStackTrace();
        }
    }
}
复制代码

 

(8)绘制jsp页面

复制代码
<%@ 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>
    <title>课程添加页面</title>
</head>
<body>
<form action="${pageContext.request.contextPath}\p" method="get">
    <table align="center" border="1" width="500">
        <tr>
            <td>课程名称 : </td>
            <td>
                <input type="text" name="classname" />
            </td>
        </tr>
        <tr>
            <td>任课教师:</td>
            <td>
                <input type="text" name="teachername" />
            </td>
        </tr>
        <tr>
            <td>上课地点:</td>
            <td>
                <input type="text" name="place" />
            </td>
        </tr>
        <tr align="center">
            <td colspan="2">
                <input type="submit" value="提交" />
                <input type="reset" value="重置" />
            </td>
        </tr>
    </table>
    <%

    %>
</form>
</body>
</html>

 

 
posted @ 2021-12-05 15:30  萧贾jzm  阅读(86)  评论(0编辑  收藏  举报
//歌单id