【问题标题】:Demo simple Ajax ans Servelt implementation fails演示简单的 Ajax 和 Servlet 实现失败
【发布时间】:2013-08-06 17:04:01
【问题描述】:

我正在尝试演示简单的 Ajax/Servlet 请求。为此,我在 Eclipse 中创建了一个新的动态 Web 项目,并添加了一个简单的 Servlet 来接收请求并将其返回给 UI。我在 web.xml 中包含了我的 Servlet 详细信息。我使用 Tomcat 作为我的服务器。还没有构建脚本(我觉得此时不需要)

Servlet 代码:

response.setContentType("text/html");
    PrintWriter out =response.getWriter();
    String txt = request.getQueryString();
    out.println(txt);

JS代码:

$(function(){
        $.get('/jirarequest','OK',function(op){
            $('#maindiv').appendTo(op);
        });

    });

HTML代码:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>Jira-Synchronization</display-name>
<welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
</welcome-file-list>

<servlet>
    <servlet-name>JiraSyncServlet</servlet-name>
    <servlet-class>src.JiraSyncServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>JiraSyncServlet</servlet-name>
    <url-pattern>/jirarequest/*</url-pattern>
</servlet-mapping>

我的项目结构:

我的 HTML:

我在 Fire bug 中收到错误提示

"NetworkError: 404 Not Found - http://localhost:8080/jirarequest?OK"

我在浏览器中使用的 URL 是http://localhost:8080/Jira-Synchronization/index.html。我已经仔细检查了所有类型的错字。我通过设置断点进行调试,但调试器从未击中我的Servelt。我不确定有什么问题? URL 错误或接线错误或缺少设置方式?

【问题讨论】:

  • 尝试打http://localhost:8080/jirarequest/whatever?OK(您可以在不使用javascript的情况下通过浏览器进行测试。)
  • 我试过它正在抛出“HTTP Status 500 - 实例化 servlet 类 src.JiraSyncServlet 时出错”
  • 这意味着 URL 是正确的,jirarequest/ 之后的内容。现在转到问题 2。服务器上的某处应该有一个日志,显示异常和堆栈跟踪。特定的例外应该对您有所帮助。错误 500 通常意味着发生了意外的异常。
  • 对于控制台日志,我看到这个“为 servlet JiraSyncServlet java.lang.ClassNotFoundException: src.JiraSyncServlet 分配异常”。我认为原因是Tomcat无法看到servlet。我看到没有任何东西部署到 Tomcat Webapps 目录。我不知道为什么 tomcat 看不到这个类。
  • 你的JiraSyncServlet的包真的是src吗?

标签: java eclipse jquery setup-deployment servlets


【解决方案1】:

一些信息:

  • 404 错误意味着 Tomcat 没有任何文件或 servlet 或任何暴露于该 URL 路径的服务。

  • 500 错误意味着 Tomcat 在该 URL 路径中公开了一个 servlet(或 jsp),并且在尝试运行 java 代码时产生了意外的异常。

我们知道需要改变的东西的集合:

  $.get('/jirarequest/whatever','OK',function(op){

<servlet>
    <servlet-name>JiraSyncServlet</servlet-name>
    <servlet-class>JiraSyncServlet</servlet-class>
</servlet>

此外,您还可以在浏览器中输入此 URL 进行测试,该 URL 应返回 OK:

http://localhost:8080/Jira-Synchronization/jirarequest/whatever?OK

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-03
    • 1970-01-01
    • 2016-10-08
    • 2019-03-07
    • 1970-01-01
    • 2011-12-03
    • 2015-04-17
    • 1970-01-01
    相关资源
    最近更新 更多