JSP使用JDBC调用mysql数据库

来源:互联网 发布:nginx 负载均衡 编辑:程序博客网 时间:2024/05/21 15:48

这个方案有很多,其实在jsp中写java程序,编译器仍然会把java封装成java类然后去调用

这和我们自己写java类,然后去调用时一个意思。

所以其实,我们可以写servlet去调用数据库,然后用jsp去带带调用这个类也是可以的。

不过jsp直接调用更容易,同时在MVC的结构里面,servlet主要用来控制,所以应该是servlet调用jsp比较常见。

jsp调用代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <base href="<%=basePath%>">        <title>My JSP 'showtext.jsp' starting page</title>    <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">-->  </head>    <body>  <%@ page import="java.sql.DriverManager"%>  <%@ page import="java.sql.Connection"%>  <%@ page import="java.sql.Statement"%>  <%@ page import="java.sql.ResultSet"%>  <%@ page import="java.sql.SQLException"%>   <% response.setHeader("Refresh", "2"); %>   <% String currTime = new java.util.Date().toString();    out.println(currTime); %>    <br>   <br>  <%    Class.forName("com.mysql.jdbc.Driver").newInstance();String url="jdbc:mysql://localhost:3306/test";String user = "root";String pass = "23";Connection con=DriverManager.getConnection(url, user, pass);Statement stmt=con.createStatement();    String sql="select * from test.con";    //out.println(sql);    ResultSet rs=stmt.executeQuery(sql);    while(rs.next())    {    //out.print("<h1>");        //out.print(rs.getInt(1));    int temp = rs.getInt(2);    //out.print(temp);    if(temp==0)  {  out.print("<img ");  out.print("src='test3.gif'");  }   else{  out.print("<img ");  out.print("src='test2.jpg'");  }        //out.print("</h1>");    }    rs.close();    stmt.close();    con.close();%>      <br>   <br>  </body></html>


代码是调用了数据库中的一个变量,判断后,确定显示那张图片。

同样的调用数据库,虽说都是java代码,但是如果直接用java编写,就不一样了。

java调用数据库代码如下:

import java.sql.DriverManager;import java.sql.Connection;import java.sql.Statement;import java.sql.ResultSet;import java.sql.SQLException;public class Test {public static void main(String[] args){try{//add mysql Class.forName("com.mysql.jdbc.Driver");String url = "jdbc:mysql://localhost:3306/mysql?user=root&password=23";Connection conn = DriverManager.getConnection(url);Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery("select * from test.con");while(rs.next()){System.out.println(rs.getInt(1));System.out.println(rs.getInt(2));//System.out.println(rs.getBoolean(3));}rs.close();stmt.close();conn.close();}catch(ClassNotFoundException e){System.out.println("Error");}catch(SQLException e){e.printStackTrace();}}}

大家可以看看这个java的代码跟jsp的有什么区别。

刚开始jsp一直不成功,所以看了看网上大家的解决方法,主要有3种。

需要把:mysql-connector-java-5.1.22-bin 添加到tomcat的lib文件夹下,然后重启tomcat。

还有就是需要把mysql-connector-java-5.1.22-bin添加到classpath中。

最后就是要把这个jar文件添加到java的lib/ext中。作为一个扩展。

不过最近我发现,主要是jsp的实用方法跟servlet不一样,所以导致我一直运行不成功。 

还有就是很多朋友说jsp没办法显示图片。

主要是tomcat的路径问题。

我直接把图片放在tomcat的webapps对应工程的文件夹下面,显示没有问题。

不知道是不是比较山寨。不过总之是显示了。 希望对大家有帮助。


0 0