JavaWeb学习笔记(六)—— JSP连接数据库SQL Server

1.环境

1)服务器是Apache的Tomcat
2)数据库是SQL Server
3)数据库驱动程序在微软官网下载的jar包

2.引入jar包

  在Microsoft官网下载数据库驱动程序Microsoft SQL Server ××××(年份)JDBC Driver ,解压后获得sqljdbc42.jar文件(我解压后是42)。把该文件放到该Web工程的/WEB-INF/lib目录下。
  jsp文件放这里的话:
在这里插入图片描述
  jar包就放这里:
在这里插入图片描述

3.配置数据库

   如果你的驱动器配置成功了,但是没连接上数据库的话,可能错误(也不算是错误吧,也就是没配置好)出在数据库中哦(气死我了气死我了,找了半天语言错误,差点连环境变量都改了)。
在这里插入图片描述
   首先要明确,JSP技术是通过“用户名”和“密码”来登录数据库的,无法通过“Windows身份验证”的方式登录,下面的配置就是为了允许“用户名”和“密码”登录,这次配置还是要用“Windows身份验证”的方式登录的,如下图。
在这里插入图片描述

1)建立数据库,创建表,插入几条数据
2)更改超级用户sa的属性

①安全性->登录名->sa->属性->常规:更改密码为“123456”,选择“强制实施密码策略”,点击“确定”
在这里插入图片描述
②安全性->登录名->sa->属性->状态:授予,启用,点击“确定”
在这里插入图片描述

3)更改服务器的属性

在这里插入图片描述
   安全性这里选择第二个“SQL SERVER和WINDOWS身份验证模式”,点击“确定”:
在这里插入图片描述

4)重新启动服务器

   这步一定要有哦,不是重新连接,是重新启动!启动!启动!!!
在这里插入图片描述

4.连接数据库

   用到了JSP的内置对象request,去接收表单提交的表名、列名。下面只进行了某表,某列的查询操作:

<%@ page language="java" contentType="text/html; charset=utf-8"   pageEncoding="utf-8"%>
<%@ page  import="java.sql.*" %>

<html>

	<head>
		<title> </title>

	</head>
	<body>
		<form action="" method="get" name="form"  >
			<fieldset >
				<legend>高校信息管理系统-查询操作</legend>
				<br>
			<label>请输入基本表、视图的名称:
				<input type="text" name="table" />
			</label><br /><br>
			<label>
				请输入列名:
				<input type="text" name="column" />
			</label><br />
			<br /><br />
			<input type="submit" value="提交" name="submit"/>&emsp;&emsp;&emsp;
			</fieldset>
		</form><br><br>
		<%
		String table=request.getParameter("table");
		String column=request.getParameter("column");
		if(table==null)
		//防止接收到的为空串
		   { table="";   }
		if(column==null)
		   { column="";   }
		%>
		<%
		PreparedStatement ps = null;
		    Connection ct = null;
		    ResultSet rs = null;
		    String url = "jdbc:sqlserver://localhost:1433;DatabaseName=DBTest";//我的数据库名
		    String user="sa";  //超级管理员sa
		       String password="123456";  //密码
		    try {
		        //1.加载驱动
		        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
		        out.println("加载驱动成功!"+"<br>");
		    }catch(Exception e) {
		        e.printStackTrace();
		        out.println("加载驱动失败!");
		    }
		    try {  
		        //2.连接
		        ct=DriverManager.getConnection( url,user,password);
		       out.println("连接数据库成功!"+"<br>");
		    }catch(Exception e) {
		        e.printStackTrace();
		       out.println("连接数据库失败!");
		    }
		    	    
		    //out.println("select * from TB_Student_Info"+"<br>");    
		    /*尝试查询数据库*/
		    try{
		    	Statement stmt = ct.createStatement();
		    	String sql = "select * from "+table;
		    	// 执行数据库查询语句
		        rs = stmt.executeQuery(sql);
		        while (rs.next()) {
		            String id = rs.getString(column);		            
		            out.println("rusult:" + id +"<br>");
		        }
		        if (rs != null) {
					//关闭数据库释放资源
		            rs.close();
		            rs = null;
		        }
		        if (stmt != null) {
		            stmt.close();
		            stmt = null;
		        }
		        if (ct != null) {
		            ct.close();
		            ct = null;
		        }
		    }
		    catch (SQLException e) {
		        e.printStackTrace();
		        System.out.println("数据库连接失败");
		    }
		%>		
	</body>
</html>

  结果呢,就是这个样子的(当然还要连接服务器tomcat,我就不写了),表单提交给本页面了,所以数据都在一个页面展示:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值