Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Ajax而不是eclipse从jQuery调用servlet_Javascript_Jquery_Ajax_Servlets - Fatal编程技术网

Javascript 使用Ajax而不是eclipse从jQuery调用servlet

Javascript 使用Ajax而不是eclipse从jQuery调用servlet,javascript,jquery,ajax,servlets,Javascript,Jquery,Ajax,Servlets,我使用EclipseIDE开发了一个应用程序,该应用程序使用$.ajax()从jQuery调用servlet POST方法。现在我需要在服务器上部署这个应用程序。 在我在EclipseIDE中使用该应用程序之前,它工作正常,但当我将所有文件复制到服务器时,jQuery在ajax请求中给出了错误。所以我想知道,为了在不使用EclipseIDE的情况下从ajax调用servlet,我们应该遵循哪些步骤。 下面是我在eclipse中使用的代码,这些代码工作正常。我需要知道我应该做什么修改,以使这个文件

我使用EclipseIDE开发了一个应用程序,该应用程序使用$.ajax()从jQuery调用servlet POST方法。现在我需要在服务器上部署这个应用程序。 在我在EclipseIDE中使用该应用程序之前,它工作正常,但当我将所有文件复制到服务器时,jQuery在ajax请求中给出了错误。所以我想知道,为了在不使用EclipseIDE的情况下从ajax调用servlet,我们应该遵循哪些步骤。 下面是我在eclipse中使用的代码,这些代码工作正常。我需要知道我应该做什么修改,以使这个文件在服务器上正常工作

我的html代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">

  <head>
    <title>Demo</title>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.0.min.js"></script>
    <script type="text/javascript" src="newJs.js"></script>
  </head>
  <body>
    <button type="button" id="search-button" >button</button>
  </body>
</html>
我的servlet代码:

 import java.io.IOException;
 import java.io.PrintWriter;
 import javax.servlet.ServletException;
 import javax.servlet.annotation.WebServlet;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;

 @WebServlet("/simpleServer")
 public class simpleServer extends HttpServlet {
private static final long serialVersionUID = 1L; 

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {   }

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    String[] rcvData = request.getParameterValues("msg[]");

    System.out.println("post method "+rcvData.length);
    for(int i=0;i<rcvData.length;i++){
        System.out.println(rcvData[i]);
    }

    PrintWriter pw = response.getWriter();
    pw.write(" Hi welcome to you \n\n");
   }

  }
import java.io.IOException;
导入java.io.PrintWriter;
导入javax.servlet.ServletException;
导入javax.servlet.annotation.WebServlet;
导入javax.servlet.http.HttpServlet;
导入javax.servlet.http.HttpServletRequest;
导入javax.servlet.http.HttpServletResponse;
@WebServlet(“/simpleServer”)
公共类simpleServer扩展了HttpServlet{
私有静态最终长serialVersionUID=1L;
受保护的void doGet(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{}
受保护的void doPost(HttpServletRequest请求、HttpServletResponse响应)引发ServletException、IOException{
字符串[]rcvData=request.getParameterValues(“msg[]”);
System.out.println(“post方法”+rcvData.length);

对于(int i=0;i我建议您参考这些参考资料。这是一个广泛的主题,您可能需要有人亲自帮助您或在线查找更多教程。祝您好运


  • 我很高兴看到人们不用eclipse来做任何事情:)您是否将您的项目导出为WAR并在Tomcat中部署?您的web服务器出现了什么错误?非常感谢。我只是得到了“错误”作为消息。不,我没有在Tomcat中导出WAR和部署。我在不同的服务器上使用此代码,而不是在Tomcat中。为了在服务器上运行ajax和servlet,我们是否需要遵循任何特定的操作?只需仔细检查我们是否在同一页面上。首先,您需要一个运行Web应用程序的Web服务器(例如Tomcat、WebSphere、JBoss)(you.war文件)。接下来,您可以从Web客户端(您的html+javascript/jquery)进行Ajax调用。您不必更改代码。您需要学习“如何部署Web应用程序存档”…这是一个很长的主题,但我希望我的简短描述可以作为指导。让我知道您在每一步都遇到了困难,也许我可以提供帮助。是的,这肯定非常有用。非常感谢。我有一个名为omega的web服务器。我想我现在需要在该服务器上运行我的.war文件。那么,实际开发web应用程序归档的是什么呢在eclipse中,我将在ajax中使用的URL可以映射到web.xml文件中的java servlet。现在,我需要某种方法将URL映射到servlet类,以便访问所需的方法。对于开发,您可以在本地计算机中安装Tomcat,在那里部署.war文件,运行ajax。稍后,您可以将.war部署到您的服务器Omega服务器(以前从未听说过)。Web服务器遵循标准,如果您在本地编写代码,您应该能够部署到其他Web服务器,只有在您使用“服务器特定功能”的情况下。祝您好运。
     import java.io.IOException;
     import java.io.PrintWriter;
     import javax.servlet.ServletException;
     import javax.servlet.annotation.WebServlet;
     import javax.servlet.http.HttpServlet;
     import javax.servlet.http.HttpServletRequest;
     import javax.servlet.http.HttpServletResponse;
    
     @WebServlet("/simpleServer")
     public class simpleServer extends HttpServlet {
    private static final long serialVersionUID = 1L; 
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {   }
    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
        String[] rcvData = request.getParameterValues("msg[]");
    
        System.out.println("post method "+rcvData.length);
        for(int i=0;i<rcvData.length;i++){
            System.out.println(rcvData[i]);
        }
    
        PrintWriter pw = response.getWriter();
        pw.write(" Hi welcome to you \n\n");
       }
    
      }
    
    <?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" xmlns:web="http://java.sun.com/xml/ns/javaee/web- app_2_5.xsd" 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">
     <servlet>
        <servlet-name>simpleServer</servlet-name>
        <servlet-class>simpleServer</servlet-class>     
     </servlet>
     <servlet-mapping>
        <servlet-name>simpleServer</servlet-name>
        <url-pattern>/simpleServer</url-pattern>
     </servlet-mapping>
    </web-app>