我試圖驗證完成時,我選擇了用戶名字段,但是新的Ajax和jQuery。下是我的代碼,我可能有很多錯誤,由於在jquery新。我收到以下錯誤:SpringMvc和Ajax Restful Web服務
「NetworkError:500內部服務器錯誤 -
http://localhost:8084/crimeTrack/validateUserName.htm?userName=hello"
的Javascript:
$(document).ready(function(){
$('#userName').blur(function(evt){
CheckAvailability();
});
});
function CheckAvailability() {
$.getJSON(
"validateUserName.htm",
{userName: $('#userName').val()},
function(){
alert('Sorry UserName Taken');
});
}
@Controller:OfficerRegistrationController
@RequestMapping(value="validateUserName.htm", method=RequestMethod.GET)
public boolean validateUserName(@RequestParam String userName) throws Exception{
if (officerdao.OfficerExist(userName)) {
return true;
}
return false;
}
的Servlet:
<bean name="/validateUserName.htm" class="com.crimetrack.web.OfficerRegistrationController"/>
OfficerDao
public boolean OfficerExist(String userName){
logger.info("About to check if officers existing");
String sql = "SELECT userName FROM crimetrack.tbloffficers WHERE userName = ?";
Map<String, Object> results = getJdbcTemplate().queryForMap(sql, userName);
String dbUserName = (String)results.get("userName");
logger.info("Checking if officers exist "+sql);
if (dbUserName.equals(userName)) {
return true;
}else{
return false;
}
}
錯誤日誌:
31693 [http-8084-1] DEBUG org.springframework.web.servlet.DispatcherServlet - Bound request context to thread: [email protected]
31693 [http-8084-1] DEBUG org.springframework.web.servlet.DispatcherServlet - DispatcherServlet with name 'crimetrack' processing GET request for [/crimeTrack/validateUserName.htm]
31693 [http-8084-1] DEBUG org.springframework.web.servlet.DispatcherServlet - Testing handler map [[email protected]18ddc48] in DispatcherServlet with name 'crimetrack'
31693 [http-8084-1] DEBUG org.springframework.web.servlet.handler.SimpleUrlHandlerMapping - No handler mapping found for [/validateUserName.htm]
31693 [http-8084-1] DEBUG org.springframework.web.servlet.DispatcherServlet - Testing handler map [or[email protected]f6852d] in DispatcherServlet with name 'crimetrack'
31703 [http-8084-1] DEBUG org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping - Mapping [/validateUserName.htm] to HandlerExecutionChain with handler [com.c[email protected]] and 1 interceptor
31703 [http-8084-1] DEBUG org.springframework.web.servlet.DispatcherServlet - Testing handler adapter [[email protected]fc606]
31703 [http-8084-1] DEBUG org.springframework.web.servlet.DispatcherServlet - Testing handler adapter [org[email protected]1966070]
31703 [http-8084-1] DEBUG org.springframework.web.servlet.DispatcherServlet - Testing handler adapter [org.springfram[email protected]1959352]
31703 [http-8084-1] DEBUG org.springframework.web.servlet.DispatcherServlet - Last-Modified value for [/crimeTrack/validateUserName.htm] is: -1
31713 [http-8084-1] DEBUG org.springframework.web.bind.annotation.support.HandlerMethodInvoker - Invoking request handler method: public boolean com.crimetrack.web.OfficerRegistrationController.validateUserName(java.lang.String) throws java.lang.Exception
31713 [http-8084-1] DEBUG org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerExceptionResolver - Resolving exception from handler [[email protected]]: java.lang.NullPointerException
31723 [http-8084-1] DEBUG org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver - Resolving exception from handler [[email protected]]: java.lang.NullPointerException
31723 [http-8084-1] DEBUG org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver - Resolving exception from handler [[email protected]]: java.lang.NullPointerException
31723 [http-8084-1] DEBUG org.springframework.web.servlet.DispatcherServlet - Cleared thread-bound request context: [email protected]
31723 [http-8084-1] DEBUG org.springframework.web.servlet.DispatcherServlet - Could not complete request
java.lang.NullPointerException
at com.crimetrack.web.OfficerRegistrationController.validateUserName(OfficerRegistrationController.java:125)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
31723 [http-8084-1] DEBUG org.springframework.web.context.support.XmlWebApplicationContext - Publishing event in WebApplicationContext for namespace 'crimetrack-servlet': ServletRequestHandledEvent: url=[/crimeTrack/validateUserName.htm]; client=[127.0.0.1]; method=[GET]; servlet=[crimetrack]; session=[null]; user=[null]; time=[30ms]; status=[failed: java.lang.NullPointerException]
31723 [http-8084-1] DEBUG org.springframework.web.context.support.XmlWebApplicationContext - Publishing event in Root WebApplicationContext: ServletRequestHandledEvent: url=[/crimeTrack/validateUserName.htm]; client=[127.0.0.1]; method=[GET]; servlet=[crimetrack]; session=[null]; user=[null]; time=[30ms]; status=[failed: java.lang.NullPointerException]
錯誤在瀏覽器
org.springframework.web.util.NestedServletException:請求處理失敗;嵌套異常是java.lang.IllegalArgumentException:無效處理程序方法返回值:false org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:894) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet。的java:778) javax.servlet.http.HttpServlet.service(HttpServlet.java:617) javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
根源
的java。 lang.IllegalArgumentException:無效的處理程序方法返回值:false org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter $ ServletHandlerMethodInvoker.g etModelAndView(AnnotationMethodHandlerAdapter.java:971) org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:438) org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter上。的java:424) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852) org.springframework.web.servlet .FrameworkServlet.processRequest(FrameworkServlet.java:882) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778) javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 的java x.servlet.http.HttpServlet.service(HttpServlet.java:717)
應該有你的服務器(Tomcat)的,如果有500個狀態返回某些錯誤消息。請在這裏發佈。 – Xaerxess
我更新了問題,通過添加來自tomcat的錯誤日誌 – devdar
我看到沒有找到[/validateUserName.htm]的處理程序映射,但我確實有一個映射在servlet文件 – devdar