① 请教JSP连接sqlSERVER并查询修改等JSP实现文件互传
JSP连接Sql Server 代码
import java.sql.*;
public class DBTools {
Connection conn;
public static void main(String[] args) {
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=pubs", "sa", "");
System.out.println("连接成功!");
}
Catch (Exception e) {
e.printStackTrace();
}
}
}
② 如何用JSP连接SQLServer数据库
JAVA Web开发中与数据库的连接操作,配置:
1、新建数据库。
新建登录角色,在新建数据库的时候把数据库的所有权交给你新建的角色。用用户和密码控制数据库。保证数据库的安全。
2、编写context.xml文件 Xml文件的目的是封装用户和密码,也是封装的一种,方便操作。
以下为context.xml文件样例:
<?xml version="1.0" encoding="utf-8"?>
<Context reloadable = "true">
<Resource
name="jdbc/sampleHS"
type="javax.sql.DataSource"
maxActive="14"
③ 学习jsp 要连接到数据库,想用Microsoft SQL Server 2012数据库,怎么选择版本
EXPRRESS版本,记得安装的时候勾选上查询分析器
④ jsp怎么连接sql数据库
1.将数据库驱动程序的JAR文件放在Tomcat的 common/lib 中; 2.在server.xml中设置数据源,以MySQL数据库为例,如下: 在 节点中加入, 属性说明:name,数据源名称,通常取”jdbc/XXX”的格式; type,”javax.sql.DataSource”; password,数据库用户密码; driveClassName,数据库驱动; maxIdle,最大空闲数,数据库连接的最大空闲时间。超过空闲时间,数据库连 接将被标记为不可用,然后被释放。设为0表示无限制。 MaxActive,连接池的最大数据库连接数。设为0表示无限制。 maxWait ,最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示 无限制。 3.在你的web应用程序的web.xml中设置数据源参考,如下: 在节点中加入, MySQL DB Connection Pool jdbc/DBPool javax.sql.DataSource Container Shareable 子节点说明: description,描述信息; res-ref-name,参考数据源名字,同上一步的属性name; res-type,资源类型,”javax.sql.DataSource”; res-auth,”Container”; res-sharing-scope,”Shareable”; 4.在web应用程序的context.xml中设置数据源链接,如下: 在节点中加入, 属性说明:name,同第2步和第3步的属性name值,和子节点res-ref-name值; type,同样取”javax.sql.DataSource”; global,同name值。 至此,设置完成,下面是如何使用数据库连接池。 1.建立一个连接池类,DBPool.java,用来创建连接池,代码如下: import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.DataSource; public class DBPool { private static DataSource pool; static { Context env = null; try { env = (Context) new InitialContext().lookup("java:comp/env"); pool = (DataSource)env.lookup("jdbc/DBPool"); if(pool==null) System.err.println("'DBPool' is an unknown DataSource"); } catch(NamingException ne) { ne.printStackTrace(); } } public static DataSource getPool() { return pool; } } 2.在要用到数据库操作的类或jsp页面中,用DBPool.getPool().getConnection(),获得一个Connection对象,就可以进行数据库操作,最后别忘了对Connection对象调用close()方法,注意:这里不会关闭这个Connection,而是将这个Connection放回数据库连接池。
⑤ jsp连接数据库SQL descriptionThe server encountered an internal error that prevented it
原因:没有安装jdbc驱动
补充:你的SQLServer是哪个版本,到微软官网下载相应的jdbc驱动,然后简单配置就可以了(我的SQLServer2012,只需要把sqljdbc4.jar复制到tomcat的lib目录下即可)
附:http://www.microsoft.com/zh-cn/download/search.aspx?q=jdbc
⑥ jsp连接SQLserver的问题,一直连不上
使用JDBC连接SQL SERVER最重要的是需要JDBC驱动,请问你的jar包导入了吗?
另外,在tomcat的log目录下有日志,你可以看下连接不上的报错信息
⑦ jsp连接数据库方法(详细的)
上面的给出了jsp内嵌java的最初模式,现在一般是三层结构了即MVC结构,就这个例子我来给你解释下是怎么做的,java对连接数据库提供了统一的接口,各个数据库厂商根据提供的接口规范开发自己的连接方法顺序如下:1、用Class.forName()方法加载驱动:Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); 黑体部分为数据库厂商自己开发的驱动。2、定义好连接数据库的url地址,连接串Stringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";黑体部分为固定写法不用理会。回到你最初的问题,如何创建数据库,这里你可以去下每个数据库创建的方法,一般数据库安装的时候都有默认的数据库名,和对应的系统管理员工号和密码,DatabaseName=pubs这里说明sql serv 2000中建立了一个名字叫pubs的数据库jdbc:microsoft:sqlserver://localhost:1433固定写法唯一不同的是1433端口号,可能你在安装sql serv 2000的时候改变了该端口号为1500那么这里就应该为jdbc:microsoft:sqlserver://localhost:15003、定义好DatabaseName=pubs的登录用户名和密码 String user="sa";用户名
String password="";密码4、创建Connection对象,通过调用DriverManager.getConnection方法获得。 Connection conn= DriverManager.getConnection(url,user,password);黑体部分就是你定义好的连接串,用户名,密码,不可改变顺序。到这里为止数据库就连接上了,但是连接好了数据库还要做点什么,比如打印出来,接下看。5、通过获得的Connection对象conn创建Statement 对象stmtStatement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);黑体部分是定义ResultSet的一些属性的,具体含义可以参考JDK的api。6、定义好你准备取得数据的sql语句,比如下面 select * from test说明想从test表中取得所有的数据,关于sql语句可以去查找相关数据库资料。 String sql="select * from test";定义好语句后,就用上一步创建好的Statement 对象stmt来执行这个sql语句,并返回一个ResultSet对象。
ResultSet rs=stmt.executeQuery(sql);执行完这步后rs中已经取得了test表所有的数据,那么接下来要展现在网页上。7、rs.next()对你取得的记录集做一个循环直到没有值为止,rs.getString(1)代表你test表中的第一个字段rs.getString(2)代表你test中的第二个字段,如果还有更多字段可以继续rs.getString(3)..rs.getString(N) while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>8、当所有数据展现完毕,调用close()方法将所有资源关闭。 rs.close();
stmt.close();
conn.close();回顾下大致过程:加载驱动 Class.forName();定义好相关的数据,调用DriverManager.getConnection(driver,user,password)获得一个数据库连接conn通过conn创建Statement对象stmt,conn.createStatement();通过stmt执行定义好的sql语句获得数据集ResultSet rs=stmt.executeQuery(“select * from test”);通过rs.next()方法循环遍历数据集的数据,通过rs.getString(1)获得第一条数据的第一个字段内容,这里要注意的是getString是对应数据库是字符类型,如果test表的第一个字段不是字符类型则用rs.getInt(1)获得。展现完毕后关闭所有资源conn stmt rs close方法。
⑧ jsp如何连接sqlserver
不管连接sqlserver,还是MySQL,都差不多,网络jsp连接MySQL一大堆
⑨ 想用eclipse写JSP,但是不知为什么连不上SQL SERVER(悬赏20)
你没有jdbc驱动哦,你去网上下个jdbc对应sql server版本的驱动,安装教程网上也有,很简单的
jsp只是负责前端显示,你要连接数据库要用到jdbc。
你右键你的项目,点build path-》configure->add external jar->你的那个驱动地址
⑩ jsp 连接sql server的问题
1、java.lang.NullPointerException异常
一般是对一个NULL值的变量进行操作引起的。例如下面的操作就会抛出异常java.lang.NullPointerException。
<%
String a=null;
a.substring(0,1);
%>
为避免这种异常,最好在对变量操作之前检查看它是否是NULL值。例如:
<%
String name=Session.getAttribute("name");
if(name==null){
//执行某种操作
}
else{
//执行另种操作
}
%>
2、JSP是大小写敏感的
JSP程序是区分大小写的,在编写JSP程序时一定要注意不要将大小写混淆,例如:
String abook;与String Abook;它们代表两个不同的字符串变量。用过其他编程语言的人最容易犯这种错误。
3、未被初始化错误
先来看如下一段代码:
public String Compare(String user1,String user2){
boolean result;
if(user1.compareTo(user2)==0)
result=true;
return result;
}
乍一看这段程序并没有任何问题,但在编译的时候会出现如下错误提示:
variable result might not have been initialized
return result
^
这是因为,当if条件为false的时候,result可能会没有被赋予初值,而return的时候则会出错。java编译器很聪明的检查出了这一错误并
在编译的时候给予了提示。这需要程序员在声明result的时候或者在返回result之前给它赋值。所以在定义一个变量时最好赋予一个初值。
4、变量未定义错误
可能大家都知道变量在使用之前要定义,但是不经意间却常常犯这种错误,例如下面一段代码:
<html>
<body>
<table>
<%
for(int i=0;i<5;i++)
{
String s=""+i;
}
%>
<tr>
<td>i现在的值是:</td>
<td><%=s%></td>
</tr>
</table>
</body>
</html>
编译时会报错:
Undefined variable:s
out.print(s);
^
1 error
出现这种错误是由于逻辑错误,for循环的结束标记符号"}"放错了位置,正确的写法应该如下段代码所示:
<html>
<body>
<table>
<%
for(int i=0;i<5;i++)
{
String s=""+i;
%>
<tr>
<td>i现在的值是:</td>
<td><%=s%></td>
</tr>
<%}%>
</table>
</body>
</html>
5、SQL语句换行书写时未加适当的空格而导致的错误
我们先来看下面这段代码:
String name=tom;
String sql="select * from userTable"+
"where user_name='"+name+"'"+
"and user_age=22";
上面的代码在执行的时候将转换成这样的SQL语句:
select * from userTablewhere user_name='name'and user_age=22
从输出的SQL语句可以看出userTable 和 where 之间以及'name'和and之间都缺空格,这样是不能从数据库中取出数据的。正确的写法应该
如下所示:
String name=tom;
String sql="select * from userTable"+
" where user_name='"+name+"'"+
" and user_age=22";