如果你的处理页面就是指 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中如何将性别信息添加到数据库中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)