JSP怎么连接数据库啊?
有没有详细的例子或者视频呢?
我的是SQL08。
刚下载了JDBC 3.0驱动,也配置了CLASSPATH,不知道对不对。
JDBC的目录是C:\Program Files\Microsoft SQL Server JDBC Driver 3.0\sqljdbc_3.0\chs\sqljdbc.jar
配置的CLASSPATH是.;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib;.;C:\Program Files\Microsoft SQL Server JDBC Driver 3.0\sqljdbc_3.0\chs\sqljdbc.jar前面两个是Java的环境变量,应该没错吧?那么在jsp里面怎么连接数据库呢?
我的数据库名叫“exam”里面有一张“Teacher”的表,如何把select *from Teacher;的内容显示在网页上呢?
我设的用户名和密码是“admin”端口没改,默认的1433吧?
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page contentType="text/html; charset=utf-8" language="java"
import="java.sql.*"%><%
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://localhost:1433;" +
"databaseName=exam;user=admin;password=admin;";
Connection conn = DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); String sql="select * from Teacher";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
out.print("用户名:");
out.print(rs.getString("uid")+" 密码:");
out.println(rs.getString("pwd")+"<br>");
}
rs.close();
stmt.close();
conn.close();
%><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
</body>
</html>
上面的那段是百度出来的,但总是会报错,好像是加载驱动那里报的错。如果上面的代码能凑合着用麻烦大家给我讲下怎么弄~
或者说下其它方法也好~~初学者求教。
有没有详细的例子或者视频呢?
我的是SQL08。
刚下载了JDBC 3.0驱动,也配置了CLASSPATH,不知道对不对。
JDBC的目录是C:\Program Files\Microsoft SQL Server JDBC Driver 3.0\sqljdbc_3.0\chs\sqljdbc.jar
配置的CLASSPATH是.;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib;.;C:\Program Files\Microsoft SQL Server JDBC Driver 3.0\sqljdbc_3.0\chs\sqljdbc.jar前面两个是Java的环境变量,应该没错吧?那么在jsp里面怎么连接数据库呢?
我的数据库名叫“exam”里面有一张“Teacher”的表,如何把select *from Teacher;的内容显示在网页上呢?
我设的用户名和密码是“admin”端口没改,默认的1433吧?
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page contentType="text/html; charset=utf-8" language="java"
import="java.sql.*"%><%
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://localhost:1433;" +
"databaseName=exam;user=admin;password=admin;";
Connection conn = DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); String sql="select * from Teacher";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
out.print("用户名:");
out.print(rs.getString("uid")+" 密码:");
out.println(rs.getString("pwd")+"<br>");
}
rs.close();
stmt.close();
conn.close();
%><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
</body>
</html>
上面的那段是百度出来的,但总是会报错,好像是加载驱动那里报的错。如果上面的代码能凑合着用麻烦大家给我讲下怎么弄~
或者说下其它方法也好~~初学者求教。
解决方案 »
- struts2中execAndWait的问题
- JSP程序调用如何调用一个电脑外接信号灯,让其开关
- 关于 "dwr" 中ScriptSession 的问题
- 我想jsp方向发展,具体要学习那些课程
- 一个要速度还是要性能的问题
- 急:请问jsp里面有没有类似于asp里面的response.redirect(即转向其他页面的函数)的相关方法?
- 怎样在显示页面前调用一action
- 寻求高手帮忙解释地址栏内直接调用*.dll的原理何实现方法!
- 这个hellouser为什么不行啊?
- 下面的代码,我想把src后面的相对地址,改成绝对地址!试了几个方法还是没有成功!麻烦大侠们了!
- weblogic+ckfinder图片上传失效……。
- servlet中能写javascript代码吗?用于提示
(r_id int primary key,
T_id int foreign key (T_id) references Teacher(T_id) on update cascade on delete cascade,
r_desc varchar(255) not null,
option_A varchar(255) not null,
option_B varchar(255) not null,
option_C varchar(255) not null,
option_D varchar(255) not null,
r_true char not null
);在SQL08上就能正常运行,为什么在MYSQL上就会报错呢...
"databaseName=exam;user=admin;password=admin;";
写错了
user=admin;和password=admin;不应该写在url里
String name = "admin";
String password = "admin";
Connection conn = DriverManager.getConnection(url,name,password);
org.apache.jasper.JasperException: An exception occurred processing JSP page /NewFile.jsp at line 5656: Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
57: String url = "jdbc:sqlserver://localhost:1433;databaseName=exam;";
58: String name = "admin";
59: String password = "admin";
try {
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, userName,
password);
return conn;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}把详细的报错信息发出来 ,还有就是必须把驱动jar包放到lib中,或者放到你的classpath中
我把sqljdbc.jar放在了WEB-INF的lib下。改了之后的:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page contentType="text/html; charset=utf-8" language="java"
import="java.sql.*"%> <%
private Connection getConn() {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://localhost:1433;databaseName=exam;";
String username = "admin";
String password = "admin";
Connection conn = DriverManager.getConnection(url, userName,
password);
return conn;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
String sql="select * from Teacher";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
out.print("用户名:");
out.print(rs.getString("uid")+" 密码:");
out.println(rs.getString("pwd")+"<br>");
}
rs.close();
stmt.close();
conn.close();
%><!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=utf-8">
<title>Insert title here</title>
</head>
<body></body>
</html>
报错情况:
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 7 in the jsp file: /NewFile.jsp
Syntax error on token "Connection", @ expected
4: import="java.sql.*"%>
5:
6: <%
7: private Connection getConn() {
8: try {
9: Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
10: String url = "jdbc:sqlserver://localhost:1433;databaseName=exam;";
An error occurred at line: 7 in the jsp file: /NewFile.jsp
Syntax error, insert "enum Identifier" to complete EnumHeaderName
4: import="java.sql.*"%>
5:
6: <%
7: private Connection getConn() {
8: try {
9: Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
10: String url = "jdbc:sqlserver://localhost:1433;databaseName=exam;";
An error occurred at line: 7 in the jsp file: /NewFile.jsp
Syntax error, insert "EnumBody" to complete BlockStatement
4: import="java.sql.*"%>
5:
6: <%
7: private Connection getConn() {
8: try {
9: Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
10: String url = "jdbc:sqlserver://localhost:1433;databaseName=exam;";
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:331)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:457)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:378)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.26 logs.
--------------------------------------------------------------------------------Apache Tomcat/7.0.26
<%@ page contentType="text/html; charset=utf-8" language="java"
import="java.sql.*"%>环境变量CLASSPATH下配置的是
.;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib;.;C:\Program Files\Microsoft SQL Server JDBC Driver 3.0\sqljdbc_3.0\chs\sqljdbc.jar
前两个是配置的JDK,后面的是SQLJDBC。
真要写的话写在<%! %>里,加个叹号。
去查看下驱动的jar包,看看class.forName("**");参数里的路径在jar包里有没有对应的类,如果有的话,驱动就是对的。CLASSPATH里有一个.;就可以阿,写在最前面。