JSP使用JDBC调用mysql数据库

这个方案有很多,其实在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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的示例,展示如何使用JSPJDBCMySQL实现用户登录、注册和留言功能。 1. 创建数据库 首先,创建一个名为“mydatabase”的数据库,并创建以下两个表: - user_table:用于存储用户信息,包括用户名和密码。 - message_table:用于存储留言信息,包括留言id、留言者id、留言内容和留言时间。 2. 创建JSP页面 创建一个名为“login.jsp”的JSP页面,用于用户登录。在页面上,添加一个表单,用户可以输入用户名和密码。当用户点击“登录”按钮时,将会提交表单,并调用一个名为“login_process.jsp”的JSP页面来处理登录请求。 创建一个名为“register.jsp”的JSP页面,用于用户注册。在页面上,添加一个表单,用户可以输入用户名和密码。当用户点击“注册”按钮时,将会提交表单,并调用一个名为“register_process.jsp”的JSP页面来处理注册请求。 创建一个名为“message.jsp”的JSP页面,用于展示留言列表和添加新留言。在页面上,添加一个表单,用户可以输入留言内容。当用户点击“提交”按钮时,将会提交表单,并调用一个名为“message_process.jsp”的JSP页面来处理添加留言请求。同时,页面还需要展示已有的留言列表。 3. 创建Java类 创建一个名为“User”的Java类,用于处理用户登录和注册请求。该类需要实现以下功能: - 验证用户登录信息是否正确。 - 将新用户的信息添加到数据库中。 创建一个名为“Message”的Java类,用于处理留言相关请求。该类需要实现以下功能: - 获取所有留言列表。 - 将新留言添加到数据库中。 4. 创建JDBC连接 创建一个名为“DBConnection”的Java类,用于连接MySQL数据库。该类需要实现以下功能: - 加载MySQL驱动。 - 建立数据库连接。 - 关闭数据库连接。 5. 实现JSP页面和Java类之间的交互 在JSP页面中,需要使用Java代码来调用Java类中的方法,以实现功能。以下是一些示例代码: - 登录:在“login_process.jsp”页面中,使用以下代码获取用户输入的用户名和密码,并调用“User”类中的“validateUser”方法来验证用户信息是否正确。 String username = request.getParameter("username"); String password = request.getParameter("password"); User user = new User(); boolean isValidUser = user.validateUser(username, password); - 注册:在“register_process.jsp”页面中,使用以下代码获取用户输入的用户名和密码,并调用“User”类中的“addUser”方法来将新用户信息添加到数据库中。 String username = request.getParameter("username"); String password = request.getParameter("password"); User user = new User(); boolean isAdded = user.addUser(username, password); - 留言:在“message_process.jsp”页面中,使用以下代码获取用户输入的留言内容,并调用“Message”类中的“addMessage”方法来将新留言添加到数据库中。 String text = request.getParameter("text"); Message message = new Message(); boolean isAdded = message.addMessage(text); 在JSP页面中,还需要使用Java代码来获取数据库中的数据,并将其展示在页面上。以下是一些示例代码: - 获取所有留言列表:在“message.jsp”页面中,使用以下代码获取数据库中的所有留言,并将其展示在页面上。 Message message = new Message(); List<MessageEntity> messageList = message.getAllMessages(); for (MessageEntity entity : messageList) { out.println(entity.getId() + ": " + entity.getText()); } 以上是一个简单的示例,展示了如何使用JSPJDBCMySQL实现用户登录、注册和留言功能。实际应用中,需要根据具体需求进行修改和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值