欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jsp连接MySQL实现插入insert操作功能示例

程序员文章站 2023-10-20 13:16:55
下午终于实现了jsp连接mysql执行插入操作的功能。在index.jsp页面输入数据,提交到mysql——insert.jsp页面进行插入数据库的操作。  in...
下午终于实现了jsp连接mysql执行插入操作的功能。在index.jsp页面输入数据,提交到mysql——insert.jsp页面进行插入数据库的操作。
jsp连接MySQL实现插入insert操作功能示例 
index.jsp页面代码如下:
复制代码 代码如下:

<%@ page language="java" pageencoding="utf-8"%>
<%@ page contenttype="text/html;charset=utf-8"%> 
<% 
   request.setcharacterencoding("utf-8"); 
   response.setcharacterencoding("utf-8"); 
   response.setcontenttype("text/html; charset=utf-8"); 
%> 
<html>
<head>
</head>
<body>
<form action="mysql_insert.jsp" method="post">
id :<input type = "text" name="id" value="0"/>
姓名 :<input type = "text" name="name" value="aaa"/>
性别 :<input type = "text" name="sex" value="female"/>
年龄 :<input type = "text" name="age" value="20"/>
</br>
<input type = "submit" value="提交"/>
</form>
</body>
</html>

mysql——insert.jsp的代码如下:
复制代码 代码如下:

<%@ page language="java" import="java.util.*,java.sql.*" pageencoding="utf-8"%>
<%@ page contenttype="text/html;charset=utf-8"%>
<% 
   request.setcharacterencoding("utf-8"); 
   response.setcharacterencoding("utf-8"); 
   response.setcontenttype("text/html; charset=utf-8"); 
%> 
<html>
<head>
<title>add message into table </title>
</head>
<body>
<%
string id=request.getparameter("id"); //从表单获得
string name=request.getparameter("name"); //从表单获得
string sex=request.getparameter("sex"); //从表单获得
string age=request.getparameter("age"); //从表单获得

java.util.date date=new java.util.date();
string datetime=new timestamp(date.gettime()).tostring();
try
{
/** 连接数据库参数 **/
string drivername = "com.mysql.jdbc.driver"; //驱动名称
string dbuser = "root"; //mysql用户名
string dbpasswd = "123456"; //mysql密码
string dbname = "html_db"; //数据库名

string connurl = "jdbc:mysql://localhost/" + dbname + "?user=" + dbuser + "&password=" + dbpasswd;
class.forname(drivername).newinstance();
connection conn = drivermanager.getconnection(connurl);
statement stmt = conn.createstatement();
stmt.executequery("set names utf8");
string insert_sql = "insert into person_tb values('" + id + "','" + name + "','" + sex + "','" + age + "')";
string query_sql = "select * from person_tb";

try {
stmt.execute(insert_sql);
}catch(exception e) {
e.printstacktrace();
}
try {
resultset rs = stmt.executequery(query_sql);
while(rs.next()) {
%>
id:<%=rs.getstring("id")%> </br>
姓名:<%=rs.getstring("name")%> </br>
性别:<%=rs.getstring("sex")%> </br>
年龄:<%=rs.getstring("age")%> </br> </br>
<%
}
}catch(exception e) {
e.printstacktrace();
}
//rs.close();
stmt.close();
conn.close();
}catch (exception e) {
e.printstacktrace();
}
%>
</body>
</html>

访问index.jsp后的页面:
jsp连接MySQL实现插入insert操作功能示例 
输入测试数据,提交后得到如下页面:
jsp连接MySQL实现插入insert操作功能示例
数据库的变化情况如下:
jsp连接MySQL实现插入insert操作功能示例 
关于jsp连接mysql数据库时的乱码问题:
在输入数据的页面的编码方式要使用gb2312或者gbk、同时在接收数据的页面的编码方式要使用utf-8,才能保证完全不会出现乱码。如上面的例子,在index.jsp输入数据,所以其使用<%@ page contenttype="text/html;charset=gb2312"%>语句指明使用gb2312编码,而mysql_insert.jsp接收数据,所以其使用<%@page language="java" pageencoding="utf-8"%>语句指明使用utf-8编码。
而对于从mysql中拿出数据并显示的页面,其编码方式也要使用gb2312,如下面的mysql_query.jsp文件例子就使用了<%@ page contenttype="text/html;charset=gb2312"%>语句指明了编码方式。
tomcat默认按照iso-8859-1对url进行编码所以要进行相应转换。
复制代码 代码如下:

<%@ page contenttype="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%
connection con=null;
string url="jdbc:mysql://localhost/html_db?user=root&password=123456&useunicode=true&characterencoding=8859_1";
//html_db为数据库名
class.forname("org.gjt.mm.mysql.driver").newinstance();//新建实例
connection conn= drivermanager.getconnection(url);//建立连接
statement stmt=conn.createstatement(resultset.type_scroll_sensitive,resultset.concur_updatable);
string sql="select * from person_tb";
resultset rs=stmt.executequery(sql);
while(rs.next()) {%>
id:<%=rs.getstring("id")%> </br>
姓名:<%=rs.getstring("name")%> </br>
性别:<%=rs.getstring("sex")%> </br>
年龄:<%=rs.getstring("age")%> </br> </br>
<%}%>
<%out.print("数据库操作成功,恭喜你!");%>
<%
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>