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>


浙公网安备 33010602011771号