简单的jsp连接数据库问题。

我想通过一个jsp页面向mysql数据库中的news数据库中的users表中插入roleID、username、password三项数值。求高手帮忙做一下这个jsp。非常... 我想通过一个jsp页面向mysql数据库中的news数据库中的users表中插入roleID、username、password三项数值。求高手帮忙做一下这个jsp。非常感谢!我数据库名:root 密码:root
我邮箱是xueshi0476@ qq.com
展开
 我来答
百度网友cdf0993
推荐于2016-04-12
知道答主
回答量:30
采纳率:0%
帮助的人:24.3万
展开全部

共建立三个页面,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分。万分感谢!
追答
实现上传的方法太多了,你需要的是哪种?随便都行么?
黄金甲sky
2013-06-26
知道答主
回答量:20
采纳率:0%
帮助的人:20.5万
展开全部
目前有好几种连接到数据库的方法 1,使用JDBC连接 2.使用Hibernate连接 数据库(也就是框架) 3.使用连连接池(JDN1) 4,配置数据源 最常用的是 第2个 但是 你可能没学到 基础不是很好 下面我和你说下 第1个把 使用JDBC
第一步 先找到 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 的数据库驱动包
纯手工打的 不懂可以问我 呵呵!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黯淡Lee
2013-06-26 · 超过20用户采纳过TA的回答
知道答主
回答量:157
采纳率:0%
帮助的人:111万
展开全部
现在哪里还有人在JSP上进行持久化操作 , 太落后了.

现在做开发的基本上都是用hibernate或者是其他框架.

jsp,只不过方便输出而已, 一般view也交给struts的action去处理.
追问
可以正面回答我的问题么?
追答
呵呵 , 俩字,  不会
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式