Как вызвать сервлет из $jQuery.ajax ()?

Я пытаюсь вызвать сервлет из jQuery .функция ajax ().Ajax не переходит на сервлет, когда я вызываю эту функцию s.o.P заявление не печатается в консоли, есть идеи?За любую помощь заранее спасибо.

This is my code:
<!--Html code:-->
<form id="ajaxform" action="weeklyMarks" method="post">
    <table>
        <td>
            <label id="stForm" for="Marks">Marks Obtained:</label>
            <input type="text" id="stMarks" name="stMarks" style="margin-left: 33px; width: 150px;" />     
            <label id="stMarksError" style="display: none; color: red;">*Please enter marks</label>
            <br>
            <br>
        </td>
        </tr>
        <tr>
            <td>
                <input type="button" value="Add" id="addButton" class="btn-warning" style="margin-left: 200px;"" onclick="addSubjectMarks() ">
            </td>
        </tr>
    </table>
    </div>
    </div>
</form>
//ajax call from jsp page
function addSubjectMarks(){  
 var postData = $(this).serializeArray();
 var formURL = $(this).attr("action");
 var selectedStudent=document.getElementById("selectedStudent").value;
 var selectedSubject=document.getElementById("selectedSubject").value;
 var marks=document.getElementById("stMarks").value;
  $.ajax({  
    type: "POST",  
    url: formURL,  
    data:postData,
    success: function(data,status){  

      alert(status);

    }                
  });  
}       
//servlet is:this servlet having url weeklyMaks
 protected void doPost(HttpServletRequest request,
        HttpServletResponse response) throws ServletException, IOException {
    System.out.println(request.getParameter("stMarks"));
}

my web.xml code is:

<web-app 
    
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>week</servlet-name>
    <servlet-class>com.studentmodels.WeeklyMarks</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>week</servlet-name>
    <url-pattern>/weeklyMarks</url-pattern>
</servlet-mapping>

<display-name>Students</display-name>
<welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>Home.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
</welcome-file-list>

<error-page>
    <exception-type>java.lang.exception</exception-type>
    <location>/login.html</location>
</error-page>

2 ответа

  1. вы должны добавить его в интернете.xml как показано ниже

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app       xsi_schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
      <display-name>ajaxtry</display-name>
      <welcome-file-list>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
    
      <servlet>
    <servlet-name>ProcessForm</servlet-name> //url given in ajax call
    <servlet-class>com.ajaxtry.web.ProcesFormServlet</servlet-class>//servlet class path
      </servlet>
       <servlet-mapping>
    <servlet-name>ProcessForm</servlet-name> //url given in ajax call
    <url-pattern>/ProcessForm</url-pattern> //url given in ajax call
      </servlet-mapping>
    </web-app>
    
  2. Существует две причины этой ошибки :
    1. Это может вызвать, если вы написали путь WebServlet в .java файл, а также в интернете.XML. Удаление его из любого места будет работать для вас.

    Как показано ниже:

    В.Java-файл

        @WebServlet("/weeklyMarks")
    

    и в сети.XML

    <servlet>
        <servlet-name>week</servlet-name>
        <servlet-class>com.studentmodels.WeeklyMarks</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>week</servlet-name>
        <url-pattern>/weeklyMarks</url-pattern>
    </servlet-mapping>
    

    Но из вашего кода я вижу, что вы упомянули только в интернете.XML
    Вторая причина возникновения этой проблемы может быть, как показано ниже:

    2.javamail.jar отсутствует. Добавить javamail.jar к папке Tomcat lib. Или если в рабочей области открыты какие-либо проекты Maven, добавьте JAR commons-logging в проект, добавив следующую зависимость в pom.XML-файл.

        <dependency>
         <groupId>commons-logging</groupId>
         <artifactId>commons-logging</artifactId>
         <version>1.2</version>
        </dependency>