TMD我都快疯了!!!!!!!!!!!!!!!tomcat配置问题
配置TOMCAT的时候我是按照以下步骤来做的:
我的版本是:
jdk1.4.2
tomcat5.0.28
.................................................................................
安装jdk
把下载到的tomcat压缩包解压到一个目录中D:\java\tomcat
在D:\java\tomcat\bin目录下双击startup.bat启动tomcat。
启动后访问http://localhost:8080/可以看到tomcat的首页。
我把web程序拷贝到D:\java\tomcat\webapps\ROOT目录下,重启服务器,访问http://localhost/xxx.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: The absolute uri: http://java.sun.com/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:50)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:411)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:118)
org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:316)
org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:147)
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:418)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:483)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1539)
org.apache.jasper.compiler.Parser.parse(Parser.java:126)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:220)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:203)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
--------------------------------------------------------------------------------
Apache Tomcat/5.0.28
因为比较笨,搞了很久还是不知道哪错!
问题点数:20、回复次数:21Top
1 楼jeremychen001181(Τιτάνες)回复于 2005-04-02 19:04:40 得分 0
我把我的WEB程序改成:
<html>
<head>
</head>
<body>
Helloworld!
</body>
</html>
说改页无法显示!!
怎么回事啊
救命啊Top
2 楼jeremychen001181(Τιτάνες)回复于 2005-04-02 19:33:06 得分 0
root里的JSP已经可以显示了
我在webapps里自己建一个目录myjsp把我的JSP放进去,同时也COPY了一个WEB-INF进去,就不行了
显示错误:
HTTP Status 404 - /myjsp/formHandler.jsp
--------------------------------------------------------------------------------
type Status report
message /myjsp/formHandler.jsp
description The requested resource (/myjsp/formHandler.jsp) is not available.
--------------------------------------------------------------------------------
Apache Tomcat/5.0.28Top
3 楼ericqgn(看法劳动撒发 )回复于 2005-04-02 19:34:59 得分 0
把xxx.jsp放在jsp-examples下Top
4 楼zhutouzip(醒了的鸟)回复于 2005-04-02 19:40:43 得分 0
http://java.sun.com/jstl/core cannot be resolved in either web.xml or the jar
你使用的jstl标签库没有声明!
你如果没有修改断口的话,就按入下url访问
http://localhost:8080/xxx.jspTop
5 楼zxbrgjs(GoFace)回复于 2005-04-02 19:43:45 得分 20
这个时候需要配置tomcat/conf/web.xml
<Context path="myjsp" docBase="myjsp" debug="0" reloadable="true" />
当然,你也可以把myjsp放在Root下面,一样能用/myjsp/xxx.jsp访问Top
6 楼jeremychen001181(Τιτάνες)回复于 2005-04-02 19:53:36 得分 0
TO:: zhutouzip(在不断的挫折中成长,做个顶天立地的好男儿!)
HTTP Status 500 - 的错误我已经知道了,谢谢
现在是我在webapps里自己建一个目录myjsp把我的JSP放进去,同时也COPY了一个WEB-INF进去,
显示错误:HTTP Status 404
如何解决?
TO:zxbrgjs(GoFace)
那我下次另建一个目录,是不是又要到WEB.XML里设置一下Top
7 楼zxbrgjs(GoFace)回复于 2005-04-02 20:01:37 得分 0
赫赫,是server.xml,我敲错了
其实,一般只要往root里面加目录就可以了,比如root/aaa/xxx.jsp
你就可以通过http://..:port/aaa/xxx.jsp访问
如果目录不是在root下,就得在server.xml中添加Top
8 楼zhutouzip(醒了的鸟)回复于 2005-04-02 20:07:58 得分 0
你按照在tomcat下标准的目录结构新建一个项目,将你的jsp文件copy到这个项目下:
然后用http://..:8080/aaa/xxx.jsp的形式访问!
假如你项目是aaa的话!这样肯定没问题!Top
9 楼jeremychen001181(Τιτάνες)回复于 2005-04-02 20:34:25 得分 0
我把我的目录放到ROOT底下了,已经可以了
是不是说如果不在server.xml中添加的话,WEB程序只能放在ROOT底下?Top
10 楼zhutouzip(醒了的鸟)回复于 2005-04-02 20:36:56 得分 0
其它的任何都不需要动,直接在webapp中新建一个项目,建好目录结构,将jsp文件放好就行了,何必去动server.xml文件呢?Top
11 楼jeremychen001181(Τιτάνες)回复于 2005-04-02 20:42:19 得分 0
所谓的在WEBAPPS中新建一个项目,建好目录结构
是不是指在WEBAPPS中新建一个目录,然后把WEB-INF添进去,在把.jsp加进去的意思
如果是的话 ,我就是这么做的,说404错误啊Top
12 楼jeremychen001181(Τιτάνες)回复于 2005-04-02 20:44:26 得分 0
如果myjsp放到WEBAPPS下的话
访问的时候是这样写吗?
http://..:8080/myjsp/xxx.jspTop
13 楼dragonflys(等我两年)回复于 2005-04-02 20:55:35 得分 0
应该是这样访问吧,你要是在WEBAPPS中新建一个项目,就要修改server.xml,像楼上说的那样
<Context path="/myjsp" docBase="H:\Program Files\Tomcat 5\webapps\myjsp" debug="0" reloadable="true" /> 肯定好用的,我屡试不爽的。Top
14 楼zhutouzip(醒了的鸟)回复于 2005-04-02 20:58:59 得分 0
在webapps目录下新建一个项目就是建立一个文件夹,例如:myjsp
则它的目录结构是:
myjsp
-jsp文件
WEB-INF
-classes
-lib
-web.xml文件
注意你的jsp文件放在myjsp下,而不是WEB-INF下!Top
15 楼jeremychen001181(Τιτάνες)回复于 2005-04-02 21:11:58 得分 0
TO: zhutouzip(在不断的挫折中成长,做个顶天立地的好男儿!)
我按你的说法 做了,重起服务器后,问题依旧啊
而且我觉得WEB-INF里不需要有CLASSES把,ROOT里的WEB-INF都没有
这是不是和系统变量有关,系统变量里我就建了一个JAVA_HOMETop
16 楼zhutouzip(醒了的鸟)回复于 2005-04-02 21:16:58 得分 0
不可能吧?
Top
17 楼jeremychen001181(Τιτάνες)回复于 2005-04-02 21:20:56 得分 0
真的啊,真的真的
系统变量有没有关系?
我把目录放到ROOT里 用HTTP://LOCALHOST:8080/MYJSP/FORMHANDLER。JSP访问就可以!
那到外面就不行
如果拿到WEBAPPS下访问的时候也是用HTTP://LOCALHOST:8080/MYJSP/FORMHANDLER。JSP吗??Top
18 楼zhutouzip(醒了的鸟)回复于 2005-04-02 21:22:53 得分 0
是啊,你要确保输入是正确的
HTTP://LOCALHOST:8080/MYJSP/FORMHANDLER。JSP
这些都在英文状态下输入,别在中文状态下输入啊!Top
19 楼jeremychen001181(Τιτάνες)回复于 2005-04-02 21:28:12 得分 0
zhutouzip(在不断的挫折中成长,做个顶天立地的好男儿!) 你不要走,还有东西要问啊
都是很简单的,我写了两个JSP文件:list3_1.jsp和formHandler.jsp,目的就是list3_1中输入的东西,在formHandler.jsp里显示出来。
list3_1.jsp比较简单不粘了
formHandler.jsp 是这样的:
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<p>Wow, I know a lot about you...</p>
<p>Your name is <c:out value="${param.username}"/></p>
<p>Your password (sssssh!) is <c:out value="${param.pw}"/></p>
<p>You are <c:out value="${param.gender}"/></p>
<p>Your favorite season is <c:out value="${param.season}"/></p>
<p>One language you can read is<c:out value="${param.language}"/></p>
<p>Some of your philosophical thoughts include:</p>
<blockquote><c:out value="${param.philosophy}"/></blockquote>
可是最后提交的时候出现500错误:
org.apache.jasper.JasperException: /formHandler.jsp(6,16) According to TLD or attribute directive in tag file, attribute value does not accept any expressions
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:150)
org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:941)
org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:696)
org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1441)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219)
org.apache.jasper.compiler.Node$Root.accept(Node.java:456)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
org.apache.jasper.compiler.Validator.validate(Validator.java:1475)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:214)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
怎么回事呢?
Top
20 楼jeremychen001181(Τιτάνες)回复于 2005-04-02 21:29:29 得分 0
这我知道,我就是用英文的,和你交流的时候图快贝Top
21 楼jeremychen001181(Τιτάνες)回复于 2005-04-02 21:30:43 得分 0
这些都是jstl in action 里的东西
语法应该不会错的Top




