在jsp页面中,想往数据库里面插入数据,tomcat不显示报错,但是却在数据库中查不到插入的数据

在jsp页面中,想往数据库里面插入数据,tomcat不显示报错,但是却在数据库中查不到插入的数据,第1张

如果你的处理页面就是指 functionjsp 这个的话 那应该是你没有解码 所以你的数据全是乱码 而你的数据库代码又没有错误只是搜索不到结果 那很显然 什么都没有 很正常 ,你试着在你获取到上个页面参数前 加上这段代码 requestsetCharacterEncoding("gb2312"); 进行解码 我想应该就可以了!

jsp通过提交表单执行到的action直接 *** 作service进而调用dao接口插入然后返回到servlet控制状态即可。

举例:

indexjsp页面代码如下:

<%@ page language="java" import="javautil,javasql" pageEncoding="utf-8"%> 

<%@ page contentType="text/html;charset=utf-8"%> 

<%  

   requestsetCharacterEncoding("UTF-8");  

   responsesetCharacterEncoding("UTF-8");  

   responsesetContentType("text/html; charset=utf-8");  

%>  

<html> 

<head> 

<title>add message into table </TITLE> 

</head> 

<body> 

<% 

String id=requestgetParameter("id"); //从表单获得 

String name=requestgetParameter("name"); //从表单获得 

String sex=requestgetParameter("sex"); //从表单获得 

String age=requestgetParameter("age"); //从表单获得 

javautilDate date=new javautilDate(); 

String datetime=new Timestamp(dategetTime())toString(); 

try 

/ 连接数据库参数 / 

String driverName = "commysqljdbcDriver"; //驱动名称 

String DBUser = "root"; //mysql用户名 

String DBPasswd = "123456"; //mysql密码 

String DBName = "html_db"; //数据库名 

String connUrl = "jdbc:mysql://localhost/" + DBName + "user=" + DBUser + "&password=" + DBPasswd; 

ClassforName(driverName)newInstance(); 

Connection conn = DriverManagergetConnection(connUrl); 

Statement stmt = conncreateStatement(); 

stmtexecuteQuery("SET NAMES UTF8"); 

String insert_sql = "insert into person_tb values('" + id + "','" + name + "','" + sex + "','" + age + "')"; 

String query_sql = "select from person_tb"; 

try { 

stmtexecute(insert_sql); 

}catch(Exception e) { 

eprintStackTrace(); 

try { 

ResultSet rs = stmtexecuteQuery(query_sql); 

while(rsnext()) { 

%> 

ID:<%=rsgetString("id")%> </br> 

姓名:<%=rsgetString("name")%> </br> 

性别:<%=rsgetString("sex")%> </br> 

年龄:<%=rsgetString("age")%> </br> </br> 

<% 

}catch(Exception e) { 

eprintStackTrace(); 

//rsclose(); 

stmtclose(); 

connclose(); 

}catch (Exception e) { 

eprintStackTrace(); 

%> 

</body> 

</html>

界面显示查询结果

在jsp中使用JavaScript获得性别标签填入的数据,然后使用jdbc插入到数据库中,实例如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ taglib uri="/struts-tags" prefix="ww" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 401 Transitional//EN" ">

当点击提交按钮时所有的表单元素都作为参数传到后台等待处理,在后台的servlet里我们可以能过方法 requestgetParameter(name)得到表单中的内容,其中name是表单元素的NAME属性名。得到表单元素内容后就可以大胆的用JDBC语句向数据库中插入数据了。

JSP使用数据库的例子:

showByJdbcOdbcjsp

<%@ page contentType="text/html;charset=GB2312" %>

<%@ page import="javasql" %>

<HTML><BODY bgcolor=cyan>

<% Connection con;

Statement sql;

ResultSet rs;

try{ ClassforName("sunjdbcodbcJdbcOdbcDriver");

}

catch(ClassNotFoundException e)

{ outprint(e);

}

try { con=DriverManagergetConnection("jdbc:odbc:mymoon","sa","sa");

sql=concreateStatement();

rs=sqlexecuteQuery("SELECT FROM employee WHERE salary>3000");

outprint("<table border=2>");

outprint("<tr>");

outprint("<th width=100>"+"雇员号");

outprint("<th width=100>"+"姓名");

outprint("<th width=50>"+"出生日期");

outprint("<th width=50>"+"薪水");

outprint("</TR>");

while(rsnext())

{ outprint("<tr>");

outprint("<td >"+rsgetString(1)+"</td>");

outprint("<td >"+rsgetString(2)+"</td>");

outprint("<td >"+rsgetDate("birthday")+"</td>");

outprint("<td >"+rsgetFloat("salary")+"</td>");

outprint("</tr>") ;

}

outprint("</table>");

conclose();

}

catch(SQLException e)

{ outprint(e);

}

%>

</BODY></HTML>

以mysql为例子给一个代码示例:如下

public class MemberDAO {

public static final String DBDRIVER = "commysqljdbcDriver";

public static final String DBURL = "jdbc:mysql://localhost:3306/mldn";

public static final String DBUSER = "root";

public static final String DBPASS = "1234";

private PreparedStatement ps = null;

private Connection conn = null;

public MemberDAO() {

// DatabaseConnection dbc = new DatabaseConnection();

// thisconn = dbcgetConnection(conn);

}

//---------------------------------------插入信息----------------------------------     

public boolean doInsert(Member member) throws Exception {

boolean flag = false;

String sql = "insert into member values(,,,,,,,,)";

Connection conn = null;

ClassforName(DBDRIVER);

conn = DriverManagergetConnection(DBURL, DBUSER, DBPASS);

ps = connprepareStatement(sql);

pssetString(1, membergetUserid());

pssetString(2, membergetPassword());

pssetString(3, membergetName());

pssetString(4, membergetSex());

pssetString(5, membergetPhone());

pssetString(6, membergetEmail());

pssetString(7, membergetInterest1());

pssetString(8, membergetInterest2());

pssetString(9, membergetNote());

if (psexecuteUpdate() > 0) {

flag = true;

}

connclose();

psclose();

return flag;

}

}

以上就是关于在jsp页面中,想往数据库里面插入数据,tomcat不显示报错,但是却在数据库中查不到插入的数据全部的内容,包括:在jsp页面中,想往数据库里面插入数据,tomcat不显示报错,但是却在数据库中查不到插入的数据、jsp--提交表单→插入数据库→成功后返回提示信息、在jsp中如何将性别信息添加到数据库中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10157139.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存