第一天从.NET转到JAVA上来~!求救

wolftop 2004-04-22 02:53:49
Tomcat 4.1启动没问题!(系统2003),index.JSP出现如下错误!

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: -1 in the jsp file: null

Generated servlet error:
[javac] Compiling 1 source file



at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:130)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:293)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:353)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:370)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Unknown Source)

...全文
56 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyhold 2004-04-22
  • 打赏
  • 举报
回复
是你的环境变量培植有问题!参考下面的!!!



到网上下载以上三个软件并安装
jdk1.4安装目录:D:/jdk14
Tomcat5.0安装目录:D:/tomcat5
SQL Server2000安装目录默认

///////////////////////////////////////////////

一、设置环境变量

Classpath

D:\jdk14\lib\tools.jar;D:\jdk14\lib\dt.jar;
D:\tomcat5\bin;D:\Program FilesMicrosoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;
D:\Program Files\Microsoft SQL Server 2000 Driver for JDBClib\mssqlserver.jar;
D:\Program Files\Microsoft SQL Server 2000 Driver f or JDBClib\msutil.jar

Java_home

D:\jdk14

Tomcat_home

D:\tomcat5

Path

D:\Program Files\Microsoft SQL Server\80Tools\BINN;D:\jdk14

//////////////////////////////////////////////////

二、Tomcat5的设置网站虚拟路径

用记事本打开:[系统盘:]\tomcat5\conf\server.xml

</host>之前加
方法1:<Context path="/EnglishStars" docBase=
"F:/strong_backup/work/EnglishStars" debug="0" reloadable="true">
</Context>

方法2:(为方便调试建议用此方法,网站端口设为80,
如果你想保留Tomcat5的帮助信息网页,
请用第一种方法):
<Context path="" docBase="F:/strong_backup/work/EnglishStars"
debug="0" reloadable="true"></Context>

/////////////////////////////////////////////////

三、端口设置

Tomcat5网站端口默认为8080
<Connector port="8080" ………>
为了调试方便,将它设为HTTP默认的端口80
这时,请注意你的Internet 信息服务IIS
(如果装有)已关闭。如果装有,它会每
次跟着系统启动,将它设为手动即可!“控制面板”
--->“管理工具”---->“组件服务”----->
选中左边的“服务(本地)”----->打开右边
“World Wide Web Publishing”的属性----->
“常规”----->服务状态:点击“停用”----->
在启动类型:选择“手动”--->“确定”

////////////////////////////////////////////////

四、修改启用默认网页:

用记事本打开:[系统盘:]\tomcat5\conf\server.xml
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
在此可以增删修默认网页文档

为了调试方便,建议注释掉或删掉默认网页:
<!--
<welcome-file>index.jsp</welcome-file>
-->
打开网站时,会把当前文件夹下所有文件以列表形式显示
点击相应的网页就可进行测试了。

/////////////////////////////////////////////////

五、启动Tomcat5

打开:[系统盘:]\tomcat5\bin\startup.bat
关闭:[系统盘:]\tomcat5\bin\shutdown.bat

/////////////////////////////////////////////////

六、测试网页:

设置了虚拟目录方法1:
<Context path="" docBase="F:/EnglishStars" ……>
</Context>

在地址栏输入(端口为80):http://localhost/
在地址栏输入(端口为8080):http://localhost:8080/

设置了虚拟目录方法2:
<Context path="/EnglishStars" docBase="F:/EnglishStars" ……>
</Context>
在地址栏输入(端口为80):http://localhost/EnglishStars/
在地址栏输入(端口为8080):http://localhost:8080/EnglishStars/

////////////////////////////////////////////////////

七、测试与SQL server2000数据库连接代码

数据库名:test
表名:userinfo
字段名:随便(本例3个以上)


<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver")
.newInstance();
String
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
//user,password 分别为数据库的用户名及密码
String user="sa";
String password="";
Connection conn=DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from userinfo";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%><br>
您的第二个字段内容为:<%=rs.getString(2)%><br>
您的第三个字段内容为:<%=rs.getString(3)%><br>
<%}%>
<%out.print("数据库连接成功!!!");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
////////////////////////////////////////////////////////



wolftop 2004-04-22
  • 打赏
  • 举报
回复
是的!~没问题~!
wandou999 2004-04-22
  • 打赏
  • 举报
回复
你的环境(PATH,CLASSPATH,JAVA_HOME)都配对了吗??
rombus 2004-04-22
  • 打赏
  • 举报
回复
http://www.csdn.net/develop/Read_Article.asp?id=26064
http://www.csdn.net/develop/Read_Article.asp?id=26065
http://www.csdn.net/develop/Read_Article.asp?id=26068
看这篇文章做吧

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧