老师,我的这个好像没连到数据库
addCourse.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>课程添加</title>
<script type="text/javascript" src="js/jquery-3.4.1.min.js" ></script>
<script type="text/javascript">
function checkForm() {
var name = $("#name").val();
var category = $("#category").val();
var desp = $("#desp").val();
if (name == "" || name == null) {
alert("课程名不能为空");
return false;
}
if (category == "" || category == null) {
alert("所属方向不能为空");
return false;
}
if (desp == "" || desp == null) {
alert("课程描述不能为空");
return false;
}
alert("课程添加成功");
return true;
}
</script>
</head>
<body>
<h1>课程添加</h1>
<form class="form-horizontal" enctype="multipart/form-data"
onsubmit="return checkForm()" method="post"
action="${pageContext.request.contextPath }/AddCourseServlet">
课程名:<input name="name" id="name"><br/>
所属方向:<input name="category" id="category"><br/>
课程描述:<input name="desp" id="desp"><br/>
<button type="submit" class="btn btn-primary">添加</button>
</form>
</body>
</html>AddCourseServlet
package com.linmin.servlet;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
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 org.junit.Test;
import com.linmin.utils.JDBCUtils2;
@WebServlet("/AddCourseServlet")
public class AddCourseServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Test
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取输入的数据
String name = (String)request.getParameter("name");
String category = (String)request.getParameter("category");
String desp = (String)request.getParameter("desp");
System.out.println(name + " " + category + " " + desp);
//连接数据库
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try{
// 获得连接:
// conn = dataSource.getConnection();
conn = JDBCUtils2.getConnection();
// 编写Sql:
String sql = "insert into course values (null,?,?,?)";
// 预编译SQL:
pstmt = conn.prepareStatement(sql);
// 设置参数
pstmt.setString(1, name);
pstmt.setString(2, category);
pstmt.setString(3, desp);
// 执行SQL:
int num = pstmt.executeUpdate();
if(num > 0){
System.out.println("保存成功!");
}
}catch(Exception e){
e.printStackTrace();
}finally{
JDBCUtils2.release(rs, pstmt, conn);
}
// 显示处理结果
response.sendRedirect(request.getContextPath() + "/showCourse.jsp");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}showCourse.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>课程</title>
</head>
<body>
<h1>添加成功</h1>
<table class="table table-striped">
<thead>
<tr>
<th>课程名称</th>
<th>所属方向</th>
<th>课程描述</th>
<th>创建时间</th>
</tr>
</thead>
<tbody id="cont">
<c:forEach items="${courses }" var="course">
<tr id="tr1">
<td>${course.name }</td>
<td>${course.category }</td>
<td>${course.desp }</td>
<td>${course.createTime }</td>
</tr>
</c:forEach>
</tbody>
</table>
</body>
</html>ShowCourseServlet
package com.linmin.servlet;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
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 org.junit.Test;
import com.linmin.domain.Course;
import com.linmin.utils.JDBCUtils2;
@WebServlet("/ShowCourseServlet")
public class ShowCourseServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Test
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<Course> courses = new ArrayList<Course>();
// 连接数据库
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
// 获得连接:
// conn = dataSource.getConnection();
conn = JDBCUtils2.getConnection();
// 编写Sql:
String sql = "select * from course";
// 预编译SQL:
pstmt = conn.prepareStatement(sql);
// 执行SQL:
rs = pstmt.executeQuery();
while(rs.next()){
Course course = new Course(rs.getInt("id"),rs.getString("name"),
rs.getString("category"),rs.getString("desp"),rs.getDate("createTime"));
courses.add(course);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCUtils2.release(rs, pstmt, conn);
}
request.getSession().setAttribute("courses", courses);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}JDBCUtils2
package com.linmin.jdbc.utils;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.mchange.v2.c3p0.ComboPooledDataSource;
/**
* JDBC的工具类,连接池
*/
public class JDBCUtils2 {
private static final ComboPooledDataSource dataSource = new ComboPooledDataSource();
/**
* 获得连接的方法:
* @throws SQLException
*/
public static Connection getConnection() throws Exception{
Connection conn = dataSource.getConnection();
return conn;
}
/**
* 资源释放
*/
public static void release(Statement stmt,Connection conn){
if(stmt != null){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
stmt = null;
}
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
conn = null;
}
}
public static void release(ResultSet rs,Statement stmt,Connection conn){
if(rs!= null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
rs = null;
}
if(stmt != null){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
stmt = null;
}
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
conn = null;
}
}
}c3p0配置
<?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <default-config> <property name="driverClass">com.mysql.cj.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://localhost:3307/imooc?useSSL=false&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT%2B8</property> <property name="user">root</property> <property name="password">linmin19970721</property> <property name="initialPoolSize">5</property> <property name="maxPoolSize">20</property> </default-config> </c3p0-config>

我的AddCourseServlet也没获取到数据,能实现页面跳转,但是添加不了数据,也显示不了数据
18
收起
正在回答 回答被采纳积分+1
2回答
3. Java 数据库开发与实战应用
- 参与学习 人
- 提交作业 357 份
- 解答问题 8016 个
本阶段将带你学习MySQL数据库,JDBC接口,MyBatis框架等,带你掌握的数据的存放和管理。
了解课程


恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星