spring - java.lang.NoSuchFieldError: NON_BRIDGED_METHODS -
i working on spring mvc, made normal login application, getting error. appreciated.
index.jsp
<html> <head> <title>home</title> </head> <body> <h1>hello world!</h1> <hr/> <form action="hello.html" method="post"> name:<input type="text" name="username"/><br/> password:<input type="password" name="password"/><br/> <input type="submit" value="login"/> </form> </body> </html>
helloworldcontroller.java
@controller @requestmapping(value = "/hello.html") public class helloworldcontroller { @requestmapping(method = requestmethod.post) public modelandview helloworld(httpservletrequest request, httpservletresponse res) { string name = request.getparameter("username"); string password = request.getparameter("password"); if (password.equals("admin")) { string message = "hello " + name; return new modelandview("hellopage", "message", message); } else { return new modelandview("errorpage", "message", "sorry, username or password error"); } } }
web.xml
<?xml version="1.0" encoding="utf-8"?> <web-app id="webapp_id" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>newproject</display-name> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class> org.springframework.web.servlet.dispatcherservlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>*.html</url-pattern> </servlet-mapping> <context-param> <param-name>contextconfiglocation</param-name> <param-value>/web-inf/dispatcher-servlet.xml</param-value> </context-param> <listener> <listener-class> org.springframework.web.context.contextloaderlistener </listener-class> </listener> </web-app>
dispatcher-servlet.xml
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <context:component-scan base-package="com.abc" /> <bean class="org.springframework.web.servlet.view.internalresourceviewresolver"> <property name="prefix" value="/web-inf/jsp/" /> <property name="suffix" value=".jsp" /> </bean> </beans>
console:
java.lang.nosuchfielderror: non_bridged_methods @ org.springframework.web.bind.annotation.support.handlermethodresolver.init(handlermethodresolver.java:90) @ org.springframework.web.servlet.mvc.annotation.annotationmethodhandleradapter$servlethandlermethodresolver.<init>(annotationmethodhandleradapter.java:399) @ org.springframework.web.servlet.mvc.annotation.annotationmethodhandleradapter$servlethandlermethodresolver.<init>(annotationmethodhandleradapter.java:398) @ org.springframework.web.servlet.mvc.annotation.annotationmethodhandleradapter.getmethodresolver(annotationmethodhandleradapter.java:389) @ org.springframework.web.servlet.mvc.annotation.annotationmethodhandleradapter.supports(annotationmethodhandleradapter.java:315) @ org.springframework.web.servlet.dispatcherservlet.gethandleradapter(dispatcherservlet.java:976) @ org.springframework.web.servlet.dispatcherservlet.dodispatch(dispatcherservlet.java:762) @ org.springframework.web.servlet.dispatcherservlet.doservice(dispatcherservlet.java:709) @ org.springframework.web.servlet.frameworkservlet.processrequest(frameworkservlet.java:613) @ org.springframework.web.servlet.frameworkservlet.dopost(frameworkservlet.java:536) @ javax.servlet.http.httpservlet.service(httpservlet.java:647) @ javax.servlet.http.httpservlet.service(httpservlet.java:728) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:305) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:210) @ org.apache.tomcat.websocket.server.wsfilter.dofilter(wsfilter.java:51) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:243) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:210) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:222) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:123) @ org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:502) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:171) @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:100) @ org.apache.catalina.valves.accesslogvalve.invoke(accesslogvalve.java:953) @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:118) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:408) @ org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1041) @ org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:603) @ org.apache.tomcat.util.net.jioendpoint$socketprocessor.run(jioendpoint.java:312) @ java.util.concurrent.threadpoolexecutor.runworker(unknown source) @ java.util.concurrent.threadpoolexecutor$worker.run(unknown source) @ java.lang.thread.run(unknown source)
hellopage.jsp
<%@ page language="java" contenttype="text/html; charset=iso-8859-1" pageencoding="iso-8859-1"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ page session="false" %> <!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <title>home</title> </head> <body> <h1>hello world!</h1> <hr/> message is: ${message} </body> </html>
i notice 2 issues provided code.
first form submits hello.html
, @requestmapping
mapped /hello
. fix adjust @requestmapping
:
@requestmapping(value = "/hello.html") public class helloworldcontroller
second when using @requestmapping
must add following line dispatcher-servlet.xml
file enable spring mvc annotations such @requestmapping
:
<mvc:annotation-driven/>
Comments
Post a Comment