【问题标题】:Tomcat - java classes not being included in my jsp pagesTomcat - 我的 jsp 页面中未包含 java 类
【发布时间】:2011-05-09 20:56:04
【问题描述】:

我在 server.xml 中添加了一个新的上下文来移动我的 webapps 的根目录,如下所示:

<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.

【问题讨论】:

  • 打包成jar的时候,有没有维护目录结构(即class文件在.jar文件里面应该有com/bravotic/webtech/Hello.class路径)?

标签: java class jsp tomcat


【解决方案1】:

您的docBase 必须指向网络根目录。

改变

<Context docBase="../sites" ...>

<Context docBase="../sites/webtech" ...>

并通过http://localhost:8080/page.jsp 而不是http://localhost:8080/webtech/page.jsp 打开您的JSP。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-19
    • 1970-01-01
    • 1970-01-01
    • 2011-12-01
    • 1970-01-01
    相关资源
    最近更新 更多