简单的jsp连接数据库问题。
我邮箱是xueshi0476@ qq.com 展开
共建立三个页面,index.jsp fuction.jsp success.jsp
index.jsp代码:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<form action="fuction.jsp" method="post">
<table width="400" align="center" border="1" cellpadding="0" cellspacing="0">
<tr><td colspan="2" align="center">向数据库插入信息测试</td></tr>
<tr><td>username:</td><td><input type="text" name="username"/></td></tr>
<tr><td>password:</td><td><input type="text" name="password"/></td></tr>
<tr><td>roleID:</td><td><input type="text" name="roleID"/></td></tr>
<tr><td colspan="2" align="center"><input type="submit" value="插入"/></td></tr>
</table>
</form>
</body>
</html>
fuction.jsp代码(这个主要是java逻辑代码,插入数据库的方法等等)
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'fuction.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%
String username=request.getParameter("username");
String passwd=request.getParameter("password");
int roleID=Integer.parseInt(request.getParameter("roleID"));
String className="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/news";
String user="root";
String password="root";
Connection conn;
Statement st;
Class.forName(className);
conn=DriverManager.getConnection(url, user, password);
String sql="INSERT INTO users(username,password,roleID) VALUES('"+username+"','"+passwd+"',"+roleID+")";
st = (Statement) conn.createStatement(); // 创建用于执行静态sql语句的Statement对象
int count = st.executeUpdate(sql); // 执行插入操作的sql语句,并返回插入数据的个数
if(count>0)
{
response.sendRedirect("success.jsp");
}
conn.close(); //关闭数据库连接
%>
</body>
</html>
success.jsp代码(插入成功所跳转的页面)
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'success.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
成功插入数据!<a href="index.jsp">返回继续</a>
</body>
</html>
效果图:
index.jsp页面效果,在这里填写插入数据
点击插入后,显示成功插入
检查数据库,发现成功插入了
不懂再问,记得采纳
大神,你答的太好了,非常感谢!能不能再帮我做一个图片上传的功能?就是像我问题补充里那张图片一样,当我输入标题以及选择照片后点提交程序会将我输入的标题和照片插入news数据库中的message表中?我想做一个小的留言系统,想在留言里加入图片,当我通过浏览页浏览留言时可以看到这条留言里插入的图片。如果大神有时间帮我做,我会再追加100分。万分感谢!
实现上传的方法太多了,你需要的是哪种?随便都行么?
第一步 先找到 mysql的驱动 然后你看一下 这个例子:
package cn.s1;
import java.sql.*;
public class addText {
public static void main(String[] args) {
// 创建数据库连接对象
Connection conn1 = null;
// 创建执行SQ接口对象
Statement stm = null;
// 要修改的名字
String name = "小强";
int health = 100;
int love = 60;
String strain = "聪明的拉布拉多犬";
// SQL语句
String sql = "insert dog(name,health,love,strain) values('" + name
+ "'," + health + "," + love + ",'" + strain + "');";
try {
// 开始连接数据库
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
conn1 = DriverManager.getConnection(
"jdbc:sqlserver://localhost:1433;DatabaseName=epet", "sa",
"123");
// 执行SQL语句
stm = conn1.createStatement();
int row = stm.executeUpdate(sql);
System.out.println("一共成功添加了" + row + "条狗!");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
// 关闭数据库
if (conn1 != null) {
conn1.close();
System.out.println("关闭成功!!!");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
我上面的那个可能 和你的题目不一样但是 原理是一样滴 我上面的 connection对象 可能和你获取的方式不一样你同时可以看看这个 连接MySQL数据库
driver="org.gjt.mm.mysql.Driver"
url ="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
//myDB为数据库名
Connection conn= DriverManager.getConnection(url);
还有你一定要加mYSQL 的数据库驱动包
纯手工打的 不懂可以问我 呵呵!!
现在做开发的基本上都是用hibernate或者是其他框架.
jsp,只不过方便输出而已, 一般view也交给struts的action去处理.
可以正面回答我的问题么?
呵呵 , 俩字, 不会