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

2024-11-25 13:55:06
推荐回答(3个)
回答1:

共建立三个页面,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+"/";
%>



 
   
   
    My JSP 'index.jsp' starting page
 
 
    
 
 
 
 
 
 
 


   
   
   
   
   
   
   
向数据库插入信息测试
username:
password:
roleID:

   

 

 

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+"/";
%>



 
   
   
    My JSP 'fuction.jsp' starting page
   
 
 
    
 
 
 

 
 
 
    <%
     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();   //关闭数据库连接  
             
    

     %>
 

 

success.jsp代码(插入成功所跳转的页面)

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>



 
   
   
    My JSP 'success.jsp' starting page
   
 
 
    
 
 
 

 
 
 
    成功插入数据!返回继续
 

效果图:

index.jsp页面效果,在这里填写插入数据

点击插入后,显示成功插入

 

检查数据库,发现成功插入了

不懂再问,记得采纳

回答2:

目前有好几种连接到数据库的方法 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 的数据库驱动包
纯手工打的 不懂可以问我 呵呵!!

回答3:

现在哪里还有人在JSP上进行持久化操作 , 太落后了.

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

jsp,只不过方便输出而已, 一般view也交给struts的action去处理.