3.jsp往数据库中插入数据

一、报错解决办法

问题:Could not retrieve transation read-only status server
我的错误解决方案:mysql和用于mysql连接的jar包版本不合适,看自己的mysql和用于mysql连接的jar包版本是否合适,我就是因为mysql版本8.0.30,jar包版本5点几,所以一直报错,解决办法下载指定jar包并导入

1.解决尝试一:管理员命令行进入mysql

在这里插入图片描述
在这里插入图片描述查看当前MySQL数据库的事务隔离级别,输入命令 “ show variables like ‘transaction_%’; ”
将隔离级别修改为 -> READ-COMMITTED 即可,输入命令 “ SET GLOBAL transaction_isolation=‘READ-COMMITTED’; ” 即可解决该问题了。
在这里插入图片描述

2.解决尝试二:

设置等待时间,通过show global variables like ‘%timeout%’;
SET GLOBAL wait_timeout=86400;

参考文档

3.解决尝试三: 看自己的mysql和用于mysql连接的jar包版本是否合适,我就是因为mysql版本8.0.30,jar包版本5点几,所以一直报错,解决办法下载指定jar包并导入

参考文档下载jar包
在这里插入图片描述

二、代码

在这里插入图片描述
填写上报信息shangbao.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>研讨课上报</title>
<link rel="stylesheet" href="../css/shangbao.css"/>
<link rel="shortcut icon" href="#"/>
</head>
<body>
研讨课上报页面
<div id="shangbao_div" class="shangbao_div" >
	<form method="post" id="shangbao_form" action="test2.jsp">
		<table  align="center" border="0" cellspacing="5"  class="shangbao_table">
			<tr><td colspan="2" class="shangbao_table_title" >请在下方填写您的研讨课信息</td></tr>
			<tr><td style="width:70px;">授课人:</td><td><input type="text" class="shangbao_table_shoukeren" id="shangbao_table_shoukeren" name="shangbao_table_shoukeren"></td></tr>
			<tr><td>研讨主题:</td><td><textarea name="shangbao_table_yantaozhuti" class="shangbao_table_yantaozhuti" id="shangbao_table_yantaozhuti" cols="30" rows="3" align="center"></textarea></td></tr>
			<tr><td><button type="reset" class="shangbao_table_chongzhi">重置</button></td>
				<td><input  class="shangbao_table_shangbao" type="submit" name="shangbaoanniu" value="上报"></td></tr>
		</table>
	</form>
</div>
</body>
</html>

jsp将网页填写信息写入数据库test2.jsp

<%@ page language="java" contentType="text/html" pageEncoding="gbk"%>
<!DOCTYPE html>
<%@page import="java.sql.*"%>
<%@page import="javax.sql.*"%>
<html>
<head>
<meta charset="ISO-8859-1">
<title>上报信息</title>
</head>
<%
	String shoukeren=request.getParameter("shangbao_table_shoukeren");
	String yantaozhuti=request.getParameter("shangbao_table_yantaozhuti");
	Connection  con;
	Statement  st;
	ResultSet rs;
	String sql;
	try{

	   
	   //Class.forName("org.gjt.mm.mysql.Driver");
	   Class.forName("com.mysql.jdbc.Driver").newInstance();
	}catch(ClassNotFoundException e){
	  out.print(e.getMessage());
	}
	try{
		con=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/yantaoke?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8","root","");
		
	    String sql_insert="insert into kecheng(shoukeren,yantaozhuti) values ('"+shoukeren+"','"+yantaozhuti+"')";
        PreparedStatement pst=con.prepareStatement(sql_insert);
        int count=pst.executeUpdate();
        
		//st=con.createStatement();
		//sql="INSERT INTO kecheng(shoukeren,yantaozhuti) VALUES(shoukeren,yantaozhuti)";
		//rs = excuteUpdate(sql);
		
		response.sendRedirect("result.jsp");

       con.close();       
	}catch(SQLException h){
	   out.print("数据库连接错误!,错误信息如下:<br>");
       out.print(h.getMessage());
	}
%>

结果显示页面result.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"%>
<!DOCTYPE html>
<%@page import="java.sql.*"%>
<%@page import="javax.sql.*"%>
<html>
<head>
<meta charset="ISO-8859-1">
<title>结果安排</title>
<link rel="stylesheet" href="../css/result.css"/>
</head>
<body>
结果安排页面
<%

   Connection  con;
   Statement  st;
   ResultSet rs;
   String sql;
   try{

	   
	   //Class.forName("org.gjt.mm.mysql.Driver");
	   Class.forName("com.mysql.jdbc.Driver").newInstance();
  }catch(ClassNotFoundException e){
	  out.print(e.getMessage());
  }
   try{
	   con=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/yantaoke?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8","root","");

       st=con.createStatement();
      
      
         sql="select * from kecheng";
		 rs = st.executeQuery(sql);
		 out.print("<table align='center' border>");
		 out.print("<tr>");
		 out.print("<td>shoukeren</td>");
		 out.print("<td>yantaozhuti</td>");
		 out.print("</tr>");
		 while(rs.next()){
			out.print("<tr>");
			out.print("<td>"+rs.getString("shoukeren")+"</td>");
			out.print("<td>"+rs.getString("yantaozhuti")+"</td>");
			out.print("</tr>");
		 }
		 out.print("</table>");
       con.close();       
   }catch(SQLException h){
	   out.print("数据库连接错误!,错误信息如下:<br>");
       out.print(h.getMessage());
   }
 %>

</body>
</html>

运行结果显示:
在这里插入图片描述在这里插入图片描述

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值