jsp操作mysql数据库实现增删改查,数据库只有两个字段,title和content。下面是我的代码,怎么写不进去?
<%@ page language="java" contentType="text/html; charset=gbk"
pageEncoding="gbk"%>
<%@ page import="java.sql.*" %>
<%
request.setCharacterEncoding("gbk");
String action = request.getParameter("action");
if(action != null && action.equals("post")) {
String title = request.getParameter("title");
String cont = request.getParameter("cont");
cont = cont.replaceAll("\n" , "<br>");
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost/bbs?user=root&password=8888";
Connection conn = DriverManager.getConnection(url);
conn.setAutoCommit(false);
String sql = "insert into article values (title,cont)";
PreparedStatement pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
Statement stmt = conn.createStatement();
conn.commit();
conn.setAutoCommit(true);
stmt.close();
pstmt.close();
conn.close();
response.sendRedirect("ShowArticleFlat.jsp");
}
%>
<!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=gbk">
<title>Insert title here</title>
</head>
<body>
<form action="Post.jsp" method="post">
<input type="hidden" name="action" value="post">
<table border="1">
<tr>
<td>
<input type="text" name="title" size="80">
</td>
</tr>
<tr>
<td>
<textarea cols="80" rows="12" name="cont"></textarea>
</td>
</tr>
<tr>
<td>
<input type="submit" value="提交">
</td>
</tr>
</table>
</form>
</body>
</html>
答案:PreparedStatement pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
Statement stmt = conn.createStatement();
这个地方你是想用PreparedStatement 呢?还是想用Statement ?这两个都可以使用,你使用任何一个都可以。
但是你只是创建了这两个对象并没有执行插入数据库的动作啊,你需要调用.execute()方法来执行这条sql语句。
而且这个地方:String url = "jdbc:mysql://localhost/bbs?user=root&password=8888";
貌似少了端口号吧?
其他: 你打生成的命令打印出来看看,
写不进去,可能有多个原因造成的。
把错误贴出来。
上一个:JSP能不能上传图片到tomcat的某个目录下?如何上传啊?求代码啊
下一个:怎样用div对jsp页面分块java语言 求代码