当前位置: 技术问答>java相关
两个问题,搞了三天,看了X+Y个贴。还没搞定,请大虾抽空一看。谢了
来源: 互联网 发布时间:2015-10-22
本文导语: 1.我在win98下了j2sdk-1_4_0-rc-win.exe,autoexec.bat内容如下: PATH=C:!WNM;C:MSSQL7BINN Set NWLANGUAGE=ENGLISH SET PATH=%path%;C:NOVELLCLIENT32;C:PROGRA~1SYBASE8SQLANY~1WIN32;C:PROGRA~1SYBASE8SQLANY~1WIN32;C:PROGRA~1SYBASE8SHAREDPOWERB~1; SET PATH=%PATH%;win32;C:PROGRA~1SY...
1.我在win98下了j2sdk-1_4_0-rc-win.exe,autoexec.bat内容如下:
PATH=C:!WNM;C:MSSQL7BINN
Set NWLANGUAGE=ENGLISH
SET PATH=%path%;C:NOVELLCLIENT32;C:PROGRA~1SYBASE8SQLANY~1WIN32;C:PROGRA~1SYBASE8SQLANY~1WIN32;C:PROGRA~1SYBASE8SHAREDPOWERB~1;
SET PATH=%PATH%;win32;C:PROGRA~1SYBASE8SHAREDWEBTAR~1
set classpath=.;C:j2sdklibtools.jar;C:j2sdklibdt.jar;C:j2sdklibmsbase.jar;C:j2sdklibmssqlserver.jar;C:j2sdklibmsutil.jar
set JAVA_HOME=c:j2sdk
set path=%path%;.;C:j2sdkbin
set CATALINA_HOME=c:Tomcat4
现在就是不明白:我在win98中运行dos窗口,刚一进入(在c:windows目录下怎不可以调用javac呢?)再运行autoexec.bat后就可以了。
=======================================================
装了Tomcat4,如下代码在dos下通过:
import java.sql.*;
public class Test {
public static void main(String[] args) {
try {
String address = "jdbc:microsoft:sqlserver://10.200.66.78:1433";
//驱动类型+目标数据库ip+数据库端口
String user="sa";//数据库用户密码
String passwd="";//口令
String database = "picdata";//目标数据库
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//驱动申明
Connection con = DriverManager.getConnection(address,user,passwd);//建立链接
con.setCatalog(database);//确定目标数据库
Statement smt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
//建立描述,设定结果集支持滚动光标且敏感,不可编辑
String selCode = "SELECT user_name,user_password Name FROM user_record";//查询语句
ResultSet rs = smt.executeQuery(selCode);//结果集
if(rs.last()) {//从第一条往后依次取结果集中的记录
String userId = rs.getString(1);//等同rs.getString("userId"),即第一个字段数据
String userName = rs.getString(2);//同上,第二个字段,全部取其为String类型
//若是中文字段,一般需要转码
//userName = new String(userName.getBytes("ISO-8859-1"),"gb2312");
System.out.println(userId+":"+userName);//输出此条记录的查询结果
}
rs.close();//释放资源
smt.close();
con.close();
}
catch(Exception e) {
System.out.println(e);//捕捉异常
}
}
}
=======可以得出一条记录=====可是下面的jsp就不行====
您的第一个字段内容为:
您的第二个字段内容为:
=========出现下面提示============
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:248)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:289)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
.........下面一大堆就不贴了..........
长是长了点,还是帮个忙吧,分不是问题啊!再次感谢了!
PATH=C:!WNM;C:MSSQL7BINN
Set NWLANGUAGE=ENGLISH
SET PATH=%path%;C:NOVELLCLIENT32;C:PROGRA~1SYBASE8SQLANY~1WIN32;C:PROGRA~1SYBASE8SQLANY~1WIN32;C:PROGRA~1SYBASE8SHAREDPOWERB~1;
SET PATH=%PATH%;win32;C:PROGRA~1SYBASE8SHAREDWEBTAR~1
set classpath=.;C:j2sdklibtools.jar;C:j2sdklibdt.jar;C:j2sdklibmsbase.jar;C:j2sdklibmssqlserver.jar;C:j2sdklibmsutil.jar
set JAVA_HOME=c:j2sdk
set path=%path%;.;C:j2sdkbin
set CATALINA_HOME=c:Tomcat4
现在就是不明白:我在win98中运行dos窗口,刚一进入(在c:windows目录下怎不可以调用javac呢?)再运行autoexec.bat后就可以了。
=======================================================
装了Tomcat4,如下代码在dos下通过:
import java.sql.*;
public class Test {
public static void main(String[] args) {
try {
String address = "jdbc:microsoft:sqlserver://10.200.66.78:1433";
//驱动类型+目标数据库ip+数据库端口
String user="sa";//数据库用户密码
String passwd="";//口令
String database = "picdata";//目标数据库
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//驱动申明
Connection con = DriverManager.getConnection(address,user,passwd);//建立链接
con.setCatalog(database);//确定目标数据库
Statement smt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
//建立描述,设定结果集支持滚动光标且敏感,不可编辑
String selCode = "SELECT user_name,user_password Name FROM user_record";//查询语句
ResultSet rs = smt.executeQuery(selCode);//结果集
if(rs.last()) {//从第一条往后依次取结果集中的记录
String userId = rs.getString(1);//等同rs.getString("userId"),即第一个字段数据
String userName = rs.getString(2);//同上,第二个字段,全部取其为String类型
//若是中文字段,一般需要转码
//userName = new String(userName.getBytes("ISO-8859-1"),"gb2312");
System.out.println(userId+":"+userName);//输出此条记录的查询结果
}
rs.close();//释放资源
smt.close();
con.close();
}
catch(Exception e) {
System.out.println(e);//捕捉异常
}
}
}
=======可以得出一条记录=====可是下面的jsp就不行====
您的第一个字段内容为:
您的第二个字段内容为:
=========出现下面提示============
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:248)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:289)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
.........下面一大堆就不贴了..........
长是长了点,还是帮个忙吧,分不是问题啊!再次感谢了!
|
Tomcat也需要SQL Server的JDBC驱动
你把驱动文件放到tomcatlib目录下
你把驱动文件放到tomcatlib目录下
|
建立连接的时候抛一个异常看看!
|
"select * from user_record"在这种情况下不要用getString(1)、getString(2)方式,直接用getString("列名")!
|
设置好autoexec.bat之后需要重新启动机器
getString(0)和getString(1)
getString(0)和getString(1)
|
(1)win98下面的autoexec.*有两类的。一个是给我们直接启动到dos下面用的(注意不是ms-dos box,而不是纯dos环境的)。一个是给windows环境用的,你写的那个是前者的,所以你运行在windows环境自己运行才能设置了。
(2)我大概看了一下是你classpath设置问题的。tomcat是不会自动把的classpath设置引入tomcat启动环境的,就是说你的设置对于tomcat而言是不其作用的。
不知道你用的tomcat版本的,但是应该各个版本差不多的,请自己看Tomcat_Home下面bin目录下面的.bat文件。
或者是把你用到的jdbc的jar文件直接放在你的WEB-INFlib下面就可以了。
当然还有其他的方案的,不过我上班期间不是很方便的。
(2)我大概看了一下是你classpath设置问题的。tomcat是不会自动把的classpath设置引入tomcat启动环境的,就是说你的设置对于tomcat而言是不其作用的。
不知道你用的tomcat版本的,但是应该各个版本差不多的,请自己看Tomcat_Home下面bin目录下面的.bat文件。
或者是把你用到的jdbc的jar文件直接放在你的WEB-INFlib下面就可以了。
当然还有其他的方案的,不过我上班期间不是很方便的。
|
用resin2.12测试一下,resin可以看到那行有问题。很方便的,我觉得tomcat调试起来比较麻烦。我很少用tomcat调试jsp。
|
安装JDK 1.4.1, JDK 1.4.0有许多bug
|
tomcat4.1.12有两个版本,其中有一个是for jdk1.4的。
有没有down错?
有没有down错?
|
呵呵,居然有人和我一样还用win98,........hehe
不好意思,没看明白你的问题,如果只是jsp编译不过去,可是你铁的信息,干好把有价值的省略了.
win98下,一定要直接调用autoexec.bat命令的,且执行autoexec.bat命令的dos窗口要一直保留着才可以编译其他和java有关的比如jsp,servet等.....
不好意思,没看明白你的问题,如果只是jsp编译不过去,可是你铁的信息,干好把有价值的省略了.
win98下,一定要直接调用autoexec.bat命令的,且执行autoexec.bat命令的dos窗口要一直保留着才可以编译其他和java有关的比如jsp,servet等.....