Работя по проект, в който трябва да изпратя JSOn обект с помощта на AJAX към Spring контролера. Но получавам 404 при подаване. Моля, някой може ли да ми каже какъв е проблема:
Моята AJAX заявка:
$.ajax({
url: 'NewTestApp/chkDetails/',
type : 'POST',
data : 'pwd='+ p,
timeout: 15000,
async : false,
dataType: 'json',
success: function (data, textStatus, jqXHR) {
displayThings(data);
},
error: function (jqXHR, textStatus, errorThrown) {
$('#error').show();
}
});
}
}
Моят контролер:
@RequestMapping(value = "/chkDetails", method = RequestMethod.POST)
@ResponseBody
public JSONObject getDetails(@RequestParam(value = "pwd")Object sPassword) throws IOException, ParseException
{
JSONObject obj = (JSONObject) JSONValue.parse(sPassword.toString());
JSONObject retObj;
if(obj.isEmpty())
{
System.out.println("hihi");
}
retObj = chk.chkStrength(obj);
return retObj;
}
Моят web.xml:
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-servlet.xml</param-value>
</context-param>
and My spring-servlet.xml :
<context:component-scan
base-package="main.pwd.controller" />
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="suffix" value=".jsp" />
<property name="prefix" value="/WEB-INF/jsp/" />
</bean>
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="urlMap">
<map>
<entry key="/checkDetails.html">
<ref bean="PasswordServiceController"/>
</entry>
</map>
</property>
</bean>
<bean id="PasswordServiceController" class="main.pwd.controller.PasswordServiceController"> </bean>
I'm very new to spring and this is my first project. Pretty sure I've done something wrong with the mapping.
Ако структурата на директорията помага:
NewTestApp | Уеб съдържание | |-WEB-INF | | | |-web.xml | |-spring-servlet.xml | |-jsp | | | |- checkDetails.jsp |-index.jsp
index.jsp може да извика checkDetails.jsp. Освен това няма проблем с подаването на AJAX JSON, приложението работи перфектно, когато не го внедрявам като Spring MVC.
Трябва ли да добавя друго картографиране за него?