Servlets 如何从html文件链接servlet

Servlets 如何从html文件链接servlet,servlets,Servlets,我确实有主html文件,当我给上下文根时,html文件会自动加载到浏览器中。在html文件中,我有五个链接,每个链接包含, 此格式的链接, 当我点击任意一个链接时,它会显示servlet_name not found…是否无法通过“a href”标记从html导航到servlet 我使用的是Sun Java App Server8.0,在部署时我也包括了这些库 它显示了以下异常: javax.servlet.ServletException: Error instantiating servl

我确实有主html文件,当我给上下文根时,html文件会自动加载到浏览器中。在html文件中,我有五个链接,每个链接包含, 此格式的链接,

当我点击任意一个链接时,它会显示servlet_name not found…是否无法通过“a href”标记从html导航到servlet

我使用的是Sun Java App 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)

如果在WEB应用程序的部署描述符(/WEB-INF/WEB.xml)中将
servlet\u别名\u名称
定义为
url映射
,则您应该能够以这种方式访问servlet。我猜您还没有定义URL映射,正在尝试直接使用servlet name元素,这是行不通的

例如,下面的代码片段将servlet类
com.mycompany.SuperServlet
映射到逻辑名称
myServlet
,然后映射URL
http://localhost:8080/ccc/servlet-别名
到逻辑名称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>

myServlet
com.mycompany.myservlets.SuperServlet
myServlet
/servlet\u别名\u名称

更新-好的,把所有这些都擦掉

您的问题是,您的webapp在运行时找不到
org.jfree.data.general.PieDataset
类,尽管在编译代码时它就在那里,但请检查javadoc以获取更多信息

您是否已将LIB包括在已部署的webapp中

  • 作为/WEB-INF/lib中的jar
  • 作为/WEB-INF/classes中的类
或者应该在appserver上部署LIB并在全局范围内可用

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


当我在Tomcat上看到这个错误时,为了调试它,我转到简单的案例(用webapp部署jar)并尝试使它工作。老实说,我从来没有找到任何特别有用的工具来调试这种情况——有人知道有什么有用的吗?

我使用的是Sun Java Application Server 8.0 PE。它会在部署时自动创建和更新这些映射详细信息。抱歉,原始问题文本中没有明确说明这一点。根据您提供的其他详细信息更新了我的答案,希望它能提供更多帮助。感谢您的想法。我得到了结果,因此我添加了所需的库。。