spring mvc RESTfull url -


i´m new in spring-mvc. so, i´m trying use restfull urls ( think that's correct name) example, want use url this: http://localhost:8080/sommer/users/edit/1 means want edit user id 1 configuration it´s not getting controller. i'm able use urls ending .html.

this configuration , code

web.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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 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>spring3mvc</display-name>   <welcome-file-list>     <welcome-file>index.jsp</welcome-file>   </welcome-file-list>   <filter>     <filter-name>sitemesh</filter-name>     <filter-class>         com.opensymphony.module.sitemesh.filter.pagefilter     </filter-class>   </filter> <filter-mapping>     <filter-name>sitemesh</filter-name>     <url-pattern>/*</url-pattern> </filter-mapping>    <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>   <servlet>     <servlet-name>resource servlet</servlet-name>     <servlet-class>org.springframework.js.resource.resourceservlet</servlet-class>   </servlet>   <servlet-mapping>     <servlet-name>resource servlet</servlet-name>     <url-pattern>/resources/*</url-pattern>   </servlet-mapping>   <!--    spring security   -->      <context-param>         <param-name>contextconfiglocation</param-name>         <param-value>             /web-inf/spring-servlet.xml             /web-inf/security-applicationcontext.xml             /web-inf/sprekelia-startup.xml         </param-value>     </context-param>      <filter>       <filter-name>springsecurityfilterchain</filter-name>       <filter-class>org.springframework.web.filter.delegatingfilterproxy</filter-class>     </filter>      <filter-mapping>       <filter-name>springsecurityfilterchain</filter-name>       <url-pattern>/*</url-pattern>     </filter-mapping>     <!--      spring security     -->      <listener>     <listener-class>org.springframework.web.context.contextloaderlistener</listener-class>   </listener>   </web-app> 

spring-servlet

<?xml version="1.0" encoding="utf-8"?> <beans xmlns="http://www.springframework.org/schema/beans"     xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"     xmlns:context="http://www.springframework.org/schema/context"     xmlns:p="http://www.springframework.org/schema/p"     xmlns:tx="http://www.springframework.org/schema/tx"     xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd         http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">      <context:annotation-config/>     <context:component-scan         base-package="com.sommer.controller" />         <tx:annotation-driven transaction-manager="transactionmanager"/>      <context:component-scan base-package="com.sommer.service" />       <bean id="viewresolver"         class="org.springframework.web.servlet.view.urlbasedviewresolver">         <property name="viewclass"             value="org.springframework.web.servlet.view.jstlview" />         <property name="prefix" value="/web-inf/view/" />         <property name="suffix" value=".jsp" />     </bean>       <bean id="messagesource"     class="org.springframework.context.support.reloadableresourcebundlemessagesource">         <property name="basename" value="classpath:messages" />         <property name="defaultencoding" value="utf-8"/>     </bean>      <bean id="localechangeinterceptor"         class="org.springframework.web.servlet.i18n.localechangeinterceptor">         <property name="paramname" value="lang" />     </bean>      <bean id="localeresolver"         class="org.springframework.web.servlet.i18n.cookielocaleresolver">         <property name="defaultlocale" value="es"/>     </bean>      <bean id="handlermapping"         class="org.springframework.web.servlet.mvc.annotation.defaultannotationhandlermapping">         <property name="interceptors">             <ref bean="localechangeinterceptor" />         </property>     </bean>       <bean id="datasource" class="org.springframework.jdbc.datasource.drivermanagerdatasource">       <property name="driverclassname" value="com.mysql.jdbc.driver"/>       <property name="url" value="jdbc:mysql://localhost:3306/sommer"/>       <property name="username"  value="**"/>       <property name="password" value="**"/>     </bean>      <bean id="entitymanagerfactory"     class="org.springframework.orm.jpa.localcontainerentitymanagerfactorybean"     p:datasource-ref="datasource"     p:jpavendoradapter-ref="jpaadapter">         <property name="loadtimeweaver">                 <bean class="org.springframework.instrument.classloading.instrumentationloadtimeweaver"/>         </property>                                      <property name="persistenceunitname" value="sommerpersistenceunit"></property>     </bean>       <bean id="jpaadapter"     class="org.springframework.orm.jpa.vendor.hibernatejpavendoradapter"     p:database="mysql"     p:showsql="true"     p:generateddl="true"/>      <bean id="transactionmanager" class="org.springframework.orm.jpa.jpatransactionmanager"     p:entitymanagerfactory-ref="entitymanagerfactory"/>      <tx:annotation-driven transaction-manager="transactionmanager"/>    </beans> 

html

---  <div class="button-group right">                     <a href="<c:url value="/users/edit/${user.id}"/>" class="button primary icon edit"><spring:message code="users.edit"/></a>                     <a href="<c:url value="/users/remove/${user.id}"/>" class="button danger icon remove"><spring:message code="users.remove"/></a>                 </div> --- 

controller

@controller @requestmapping("users") public class systemusercontroller {      }     @requestmapping("/index")     public modelandview index(){         list<systemuser> list = userrepository.findall();      return new modelandview("users/index","users",list);     }      @requestmapping("/edit/{userid}")     public modelandview edit(@pathvariable long userid){         list<systemuser> list = userrepository.findall();      return new modelandview("users/index","users",list);     } } 

any idea how solve issue?

thanks in advance

you registering dispatcherservlet html files when have:

<servlet-mapping>   <servlet-name>spring</servlet-name>   <url-pattern>*.html</url-pattern> </servlet-mapping> 

if want no extension whatsoever, you'll have use along these lines:

<servlet-mapping>   <servlet-name>spring</servlet-name>   <url-pattern>/*</url-pattern> </servlet-mapping> 

(of course, keep in mind, literally match everything)


Comments

Popular posts from this blog

c++ - Is it possible to compile a VST on linux? -

java - Output of Eclipse is rubbish -

jquery - Confused with JSON data and normal data in Django ajax request -