2010-02-22 92 views
0

我确实有家html文件,当我给上下文根http://localhost:8080/ccc自动加载到浏览器中的html文件。在HTML文件中我有五个环节,每个包含此格式, 链接, <a href="servlet_alias_name">Title</a>如何从html文件中链接servlet

,当我点击链接的任何一个,它说servlet_name没有找到,是不是可能通过“a href”标签从html导航到servlet?

我使用的是Sun的Java应用程序Server8.0,我已经包括了图书馆的同时也部署..

,它显示了以下异常,

javax.servlet.ServletException: Error instantiating servlet class pagesvsnodes 
    org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:189) 
    com.sun.enterprise.web.connector.grizzly.ProcessorTask.doProcess(ProcessorTask.java:604) 
    com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:475) 
    com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:371) 
    com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:264) 
    com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:281) 
    com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:83) 
root cause 

java.lang.NoClassDefFoundError: org/jfree/data/general/PieDataset 
    java.lang.Class.getDeclaredConstructors0(Native Method) 
    java.lang.Class.privateGetDeclaredConstructors(Class.java:2328) 
    java.lang.Class.getConstructor0(Class.java:2640) 
    java.lang.Class.newInstance0(Class.java:321) 
    java.lang.Class.newInstance(Class.java:303) 
+0

另外我已经添加了所需的库.. – professionalcoder2010 2010-02-22 07:40:21

回答

1

如果servlet_alias_name被定义为部署描述符(/WEB-INF/web.xml)中的url-mapping为您的Web应用程序,您应该能够以这种方式访问​​该servlet。我的猜测是你没有定义URL映射,并试图直接使用servlet-name元素,这是行不通的。

例如,下面的代码片段将servlet类com.mycompany.SuperServlet映射到逻辑名称myServlet,那么URL http://localhost:8080/ccc/servlet-alias-name映射到逻辑名称myServlet了。这将使该URL的请求调用该servlet类。

<servlet> 
    <servlet-name>myServlet</servlet-name> 
    <servlet-class>com.mycompany.myservlets.SuperServlet</servlet-class> 
</servlet> 

<servlet-mapping> 
    <servlet-name>myServlet</servlet-name> 
    <url-pattern>/servlet_alias_name</url-pattern> 
</servlet-mapping> 

更新 - OK划伤了这一切。

你的问题是你的web应用程序在运行时找不到org.jfree.data.general.PieDataset类,虽然它在代码编译时就在那里,请检查javadoc的NoClassDefFoundError

您是否将libs包含在已部署的webapp中?

  • 在/ WEB-INF /罐LIB
  • 作为班/ WEB-INF/classes中

或者,该库应该是部署和全球可用的应用程序服务器?

在构建环境和运行时环境中是否具有相同版本的库?

为了在Tomcat上看到它时调试这个错误,我去了一个简单的例子(用webapp部署jar)并试图让它工作。我从来没有发现任何特别有用的工具来调试这种情况,说实话 - 任何人都知道有什么帮助吗?

+0

我正在使用Sun Java Application Server 8.0 PE。它会在部署时自动创建和更新这些映射细节。 – professionalcoder2010 2010-02-22 07:36:19

+0

对不起,这是从原来的问题文本不清楚。根据您提供的附加详细信息更新我的答案,希望能提供更多帮助。 – Brabster 2010-02-22 07:54:22

+0

感谢您的想法..我得到了结果 – professionalcoder2010 2010-02-22 09:29:08