2016-03-31 1 views
0

Я работаю на веб-основе проекта, в котором я должен передать данные из JavaScript в Java, Servlet сек со следующей просьбой:Как получить правильный URL для Java Servlet?

var xhr = new XMLHttpRequest(); 
xhr.open('GET', 'DCCServlet?command=' + encodeURIComponent(command), true); 
xhr.send(null); 

Вот код сервлета: пакет веб;

import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

public class DCCServlet extends HttpServlet{ 

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

     String command = request.getParameter("command"); 

     System.out.println(command); 
     //Send string where it is needed 
     Startup.MC.sendCommand(command); 
    } 
} 

И вот 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" 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>PiRail</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> 

    <listener> 
    <listener-class> 
      web.Startup 
     </listener-class> 
    </listener> 

    <servlet> 
     <servlet-name>DCCServlet</servlet-name> 
     <servlet-class>web.DCCServlet</servlet-class> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>DCCServlet</servlet-name> 
     <url-pattern>/DCC</url-pattern> 
    </servlet-mapping> 

</web-app> 

Из того, что я могу сказать, нет никаких проблем с сервлета, хотя я могу ошибаться. По какой-то причине каждый раз, когда я выполняю действие, которое делает запрос, я получаю ошибку 404 в консоли Opera.

GET http://localhost:8080/PiRail/DCCServlet?command=func%2044%204 404 (Not Found) 

Я предполагаю, что у меня неправильный URL, но я действительно не знаю. Если это так, то какой должен быть правильный URL, а если нет, что может быть проблемой?

+0

Вы дали ему шаблон URL в '/ DCC' но вы называя его '/ DCCServlet', что именно вы хотите? – BalusC

ответ

0

В XML, на мой взгляд, как вы сопоставили сервлет на «/ DCC», но вы запрашиваете «/ DCCServlet» в ПОЛУЧИТЬ

+0

Это должно было быть что-то вроде этого. Мой плохой, я все еще новичок в этом. Благодарю. – Cailean