Java 从jsp调用jquery.ajax而不更改url模式

Java 从jsp调用jquery.ajax而不更改url模式,java,ajax,jsp,jquery,servlets,Java,Ajax,Jsp,Jquery,Servlets,我正在为Tomcat服务器上用.jsp技术编写的软件开发一个插件 开发主软件的软件公司(我只编写了一个插件来管理该软件的日历事件)告诉我,最好不要修改web.xml文件和其他配置文件。 事先,我无法访问(因此无法修改)web应用程序的源代码。我只能添加jsp页面和.jar 我可以将.jsp页面以及.js或.css文件放在前端的WEB-INF文件夹中。 我还可以访问WEB-INF/lib目录,用我的后端逻辑为后端库添加我的.jar文件 我有以下问题: 在这个场景中,我需要通过jquery.ajax

我正在为Tomcat服务器上用.jsp技术编写的软件开发一个插件

开发主软件的软件公司(我只编写了一个插件来管理该软件的日历事件)告诉我,最好不要修改web.xml文件和其他配置文件。 事先,我无法访问(因此无法修改)web应用程序的源代码。我只能添加jsp页面和.jar

我可以将.jsp页面以及.js或.css文件放在前端的WEB-INF文件夹中。 我还可以访问WEB-INF/lib目录,用我的后端逻辑为后端库添加我的.jar文件

我有以下问题:

在这个场景中,我需要通过jquery.ajax方法从FrontEnd.jsp页面调用.jar库中的函数。我如何才能做到这一点?


我应该这么做:

FrontEnd.jsp(调用jquery.ajax(传递要调用的方法))

-->Backend.jsp(读取request.getParameter(方法)并调用BackEndLibrary.jar中的相应方法)

-->-->.jar库(执行服务器端代码并将结果返回到Backend.jsp)


您正在使用哪个版本的servlet?如果您使用servlet 3,请考虑“<代码> @ WebServlet < /COD>注释”的选项。在Servlet3.0中,您不需要修改web。xmlI将尝试进行一些测试。非常感谢。我需要在编译时添加servlet。亲爱的@PradeepKrKaushal,我试过了,但我发现web应用程序不支持3.0。我更改了应用程序的web.xml文件以支持3.0,它成功了。主要问题是我不应该修改应用程序的web.xml文件。那么我应该使用我的第一个解决方案吗?你认为这是一个好主意吗?如果只是想办法解决问题,然后你可以采用任何解决方案。但遵循正确的方法总是明智的。正确的方法是使用Servlet。是的,你是对的。我花了一些时间使用servlets 3.0,但正如我告诉您的,我无法修改主web应用程序的配置文件,因为它是一个专有应用程序。我只能将JAR添加到WEB-INF/lib目录。谢谢你的回答。
 $("#click").click(function () {
        event= $("#event").val();
        date = $("#date").val();
        methodBackEnd = "getEventByDate";
        // call the ajax backend jsp passing the BackEnd Method to invoke 
        $.ajax({
            type: "POST",
            url: "BackEnd.jsp",
            data: "{'event':'" + event + "','date':'" + date + "','methodBackEnd':'" + methodBackEnd + "'}",
            contentType: "application/json",
            async: false,
            success: function (data) {
                $("#response").html(data.d);
            }

        });
    });
<!-- this is the import of my .jar library -->
<%@page import="com.xyz.eventmanagement.*"%>
switch (request.getParameter("methodBackEnd").toString()){
        case "getEventByDate":
            // call getEventByDate method in the .jar and return a JSON object to the frontend
            break;
        case "getEventByDescription":
            // call getEventByDescription method in the .jar and return a JSON object to the frontend
            break;
        default:
            // don't call anything
            break;
    }