0

我使用 Eclipse IDE 开发了一个应用程序,该应用程序使用 $.ajax() 从 jQuery 调用 servlet POST 方法。现在我需要在服务器上部署这个应用程序。直到我在 Eclipse IDE 中使用这个应用程序它工作正常,但是当我将所有文件复制到服务器时,jQuery 在 ajax 请求中给出错误。所以我想知道为了在不使用 Eclipse IDE 的情况下从 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>

我的 javascript 文件包含 jQuery 一个 $.ajax() 调用

$(function(){
            alert("loaded");
            page.init();

        });

var page = {
    addEvent:function(){
        alert("here");
        page.controls.searchButton.click(page.handlers.onSearchButtonClick);
    },
    handlers:{
        onSearchButtonClick: function(){
            alert("hi");
            var msg = [1,2,3,4];
            $.ajax({
                url : "simpleServer",   

                data : {
                    msg:msg
                },
                type:"POST",

                success : function(data){

                    alert("called "+data);
                },

                error: function(xhr, status){
                    alert("error : "+status);
                },
                complete: function(xhr, status){
                    alert("complete"+status);
                }

            });
        }
    },
    controls:{
    },
    init: function(){       
        page.controls.searchButton = $('#search-button');
        page.addEvent();
    }
};

我的小服务程序代码:

 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");
   }

  }

我的 web.xml 文件是

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

请让我知道我应该做什么才能通过服务器上的 ajax 调用运行 servlet。

谢谢

4

1 回答 1

1

我会为你推荐这些参考资料。这是一个广泛的主题,您可能需要有人亲自帮助您或在线查找更多教程。祝你好运。

  1. http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.wst.webtools.doc.user%2Ftopics%2Ftwcrewar.html

  2. http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.wst.webtools.doc.user%2Ftopics%2Ftwcrewar.html

  3. http://www.youtube.com/watch?v=gWc05WCkVNg

于 2013-06-18T00:47:13.133 回答