首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

jsp连接Mysql数据库的有关问题

2012-01-03 
jsp连接Mysql数据库的问题前台的HTML页面接收用户输入的内容:!DOCTYPEHTMLPUBLIC-//W3C//DTDHTML4.01Tra

jsp连接Mysql数据库的问题
前台的HTML页面接收用户输入的内容:
<!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.01   Transitional//EN "   "http://www.w3.org/TR/html4/loose.dtd ">
<html>
<head>
<meta   http-equiv= "Content-Type "   content= "text/html;   charset=gb2312 ">
<title> MySQL   调用实例 </title>
</head>

<body>
    <form   method= "post "   action= "/mysql/servlet/Insert ">
    学生姓名: <input   type= "text "   name= "name "> <br>
    学生年龄: <input   type= "text "   name= "age "> <br>
    学生介绍: <textarea   name= "introduce "   rows= "5 "> </textarea> <br>
    <input   type= "submit "   value= "提交 ">
    <input   type= "reset "   value= "重填 ">
    </form>
</body>
</html>

后台具体的JAVA程序实现代码:
//   Java   Document
/*Insert.java*/
import   java.io.*;
//导入JDBC相关的类
import   java.sql.*;
//导入Mysql的JDBC的相关类
import   org.gjt.mm.mysql.*;
//导入servlet的相关类
import   javax.servlet.*;
import   javax.servlet.http.*;
public   class   Insert   extends   HttpServlet{

//Servlet的dopost方法,来处理用户POST表单的请求
    public   void   doPost(HttpSerletRequest   request,HttpServletResponse   response)
    throws   IOException,ServletException{
     
      //设置输出类型text/html,并且编号GB2312,这样才不会出现中文的乱码
    response.setContentType( "text/html;charset=gb2312 ");
    //定义输出对象
    PrintWriter   out=response.getWriter();
    java.sql.Connection   conn=null;
    java.sql.Statement   st=null;
    //将用户输入转换为8859-1编码的字节,然后再转换成字符,这样就不会出现中文乱码了
    String   name=new   String(request.getparameter( "name ").getBytes( "8859-1 "));
    String   age=new   String(request.getparameter( "age ").getBytes( "8859-1 "));
    String   introduce=new   String(request.getparameter( "introduce ").getBytes( "8859-1 "));  
    try{
    //查找Mysql的JDBC驱动程序,如果找不到会出错
    Class.forName( "org.gjt.mm.mysql.Driver ");
    //连接数据库
    conn=DriverManager.getConnection( "jdbc:mysql://localhost:3306/person ", "root ", "123 ");
    out.println( "与Mysql数据库连接成功! <br> ");
    //生成数据库执行对象
    st=conn.createStatement();
    //执行添加学生的sql语句
    st.executeQuery( "insert   into   student   values( ' "+name+ " ', ' "+age+ " ', ' "+introduce+ " ') ");
    out.println( "学生添加成功! <br> ");
    //关闭数据库
    conn.close();
    out.println( "数据库关闭成功! <br> ");
          }
     
      //捕获错误
      catch(Exception   e)
              {
       
      //打印出错误信息


      out.printin( "发生了如下错误: <br> ");
      out.println(e.getMessage());
              }
          }
      }

[解决办法]

[解决办法]
你那Insert能通过编译吗?
很多错误啊
[解决办法]
CLASSPATH里加入SERLET-API.JAR
[解决办法]
楼主的面向对像思想还要提高呀,代码看起来比较乱。另外最好不要用SERVLET,servlet本身比较难以控制,jsp页面编译完后就是个servlet,如果不用框架,可以直接写一个空的JSP页面,里面没有HTML代码。在这个页面里面调用相关的JAVA操作类。数据库连接,不用连接池,最好写个单态类来得到连接,再写一个操作类,里面有(增,删,改,查)等方法。在JSP页直接调这四个方法执行操作,完成后,跳转到相关操作页面。

还有,LZ说功能不能执行,错误信息要报一下。或是说明一下怎么个不能执行法。

热点排行