我在server.xml中添加了一个新上下文,以移动Webapp的ROOT目录,如下所示:
<Context path="" docBase="../sites" debug="0" reloadable="true" >
<Resource name="jdbc/myphoto" auth="Container" type="javax.sql.DataSource"
driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
url="jdbc:derby:C:\apache-tomcat-7.0.12\sites\webtech\WEB-INF\lib\photo"
maxActive="20" maxIdle="10" maxWait="-1" />
</Context>
现在由于某种原因,tomcat无法找到我的自定义Java类。我的jsp页面如下所示:
... some xhtml ...
<%@ page import="com.domain.webtech.Hello" %>
<%
Hello h = new Hello();
out.print(h.hello());
%>
我可以在sites / webtech / WEB-INF / classes / com / domain / webtech /中找到一个Hello.java文件,这很简单:
package com.somename.webtech;
public class Hello {
public Hello() {
}
public String hello() {
return "hello, world!";
}
}
我对其进行了编译,甚至将其打包到一个webtech.jar文件中,并将其放置在sites / webtech / WEB-INF / lib /中。
有谁知道为什么Tomcat无法找到我的班级吗?
谢谢你的时间,
G。
最佳答案
您的docBase
必须指向Web根目录。
更改
<Context docBase="../sites" ...>
至
<Context docBase="../sites/webtech" ...>
然后通过http://localhost:8080/page.jsp而不是http://localhost:8080/webtech/page.jsp打开您的JSP。