当前位置: 首页 > 知识库问答 >
问题:

@PathVariable位置Spring-MVC

和飞翔
2023-03-14
    @RequestMapping(value = "/pages/{pageNumber}", method = RequestMethod.GET)
public String getStories(@PathVariable Integer pageNumber, Model model) {

    Page<Article> page = articleService.getStories(pageNumber);

    int current = page.getNumber() + 1;
    int begin = Math.max(1, current - 5);
    int end = Math.min(begin + 10, page.getTotalPages());

    model.addAttribute("storiesLog", page);
    model.addAttribute("beginIndex", begin);
    model.addAttribute("endIndex", end);
    model.addAttribute("currentIndex", current);

    return "atriev-stories";
}
<?xml version="1.0" encoding="UTF-8"?>
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:/jpaContext.xml</param-value>
</context-param>

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<filter>
    <filter-name>SpringOpenEntityManagerInViewFilter</filter-name>
    <filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>SpringOpenEntityManagerInViewFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
    <servlet-name>atriev</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/config/servlet-config.xml</param-value>
    </init-param>
</servlet>

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

<servlet-mapping>
    <servlet-name>atriev</servlet-name>
    <url-pattern>/pdfs/**</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>atriev</servlet-name>
    <url-pattern>/images/**</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>atriev</servlet-name>
    <url-pattern>*.json</url-pattern>
</servlet-mapping>

<display-name>Archetype Created Web Application</display-name>

config.xml

<?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:mvc="http://www.springframework.org/schema/mvc"
    xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">

    <mvc:annotation-driven/>

    <mvc:resources location="assets" mapping="/assets/**"/>
    <mvc:resources location="pdfs" mapping="/pdfs/**"/>
    <mvc:resources location="uploads" mapping="/uploads/**"/>

    <context:component-scan base-package="com.jwlayug.atriev.controller"/>

    <bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
        <property name="order" value="1" />
        <property name="contentNegotiationManager">
            <bean class="org.springframework.web.accept.ContentNegotiationManager">
                <constructor-arg>
                    <bean class="org.springframework.web.accept.PathExtensionContentNegotiationStrategy">
                        <constructor-arg>
                            <map>
                                <entry key="json" value="application/json" />
                                <entry key="xml" value="application/xml" />
                            </map>
                        </constructor-arg>
                    </bean>
                </constructor-arg>
            </bean>
        </property>

        <property name="defaultViews">
            <list>
                <bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" />
                <bean class="org.springframework.web.servlet.view.xml.MarshallingView">
                    <constructor-arg>
                        <bean class="org.springframework.oxm.xstream.XStreamMarshaller">
                            <property name="autodetectAnnotations" value="true" />
                        </bean>
                    </constructor-arg>
                </bean>
            </list>
        </property>
    </bean>

    <mvc:interceptors>
        <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" p:paramName="language"/>
    </mvc:interceptors>

    <bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver" p:defaultLocale="en"/>

    <bean id="messageSource" 
    class="org.springframework.context.support.ResourceBundleMessageSource" 
    p:basename="messages"></bean>

    <!-- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" 
     p:prefix="/WEB-INF/jsp/" p:suffix=".jsp" p:order="2"/> -->
     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" 
     p:prefix="/WEB-INF/jsp/" p:suffix=".jsp" p:order="2"/>





     <bean class="org.springframework.web.servlet.view.BeanNameViewResolver" p:order="0"/>

</beans>

共有1个答案

伏业
2023-03-14

dispatcher servlet映射到url模式

  1. *.html
  2. /PDFS/**
  3. /图像/**
  4. *.json

但是您的urlhttp://localhost:8080/atriev/pages/1与任何映射都不匹配,最好将您的deispltcher servlet映射到 /

 类似资料:
  • 在spring MVC中使用中,你能给我一个简单的解释和示例吗?请包括如何键入url? 我正在努力获得正确的url以显示jsp页面。多谢了。

  • 问题内容: 我有一个控制器,可提供对信息的RESTful访问: 我遇到的问题是,如果我使用带有特殊字符的路径变量访问服务器,则会被截断。例如: http:// localhost:8080 / blah-server / blah / get / blah2010.08.19-02:25:47 参数blahName将为blah2010.08 但是,对request.getRequestURI()的

  • 问题内容: 在我使用的环境(Tomcat 6)中,当映射到@PathVariable时,路径段中的百分比序列显然是使用ISO-8859-1解码的。 我希望它是UTF-8。 我已经将Tomcat配置为使用UTF-8(使用server.xml中的URIEncoding属性)。 Spring / Rest是否自己进行解码?如果是,我在哪里可以覆盖默认编码? 附加信息; 这是我的测试代码: 如果我使用以下

  • 问题内容: 当我在tomcat上运行我的应用程序时,spring-context.xml文件位于 /WEB-inf/spring-context.xml 还行吧。但是运行一个junit测试,我必须为它提供spring-test-context.xml的位置,如下所示: 唯一可行的方法是如果文件位于 /src/spring-context.xml 我怎样才能让我的应用程序在同一位置找到我的sprin

  • 在DownloadPayloadExtractor中,我希望获得 这些是原木的

  • 我使用的是Spring4.1.9.版本 配置下一个Rest控制器。 并创建了/get/{id}以某种方式隐藏/get/matrix/{vars}的映射 当我尝试通过下一个url调用它时http://localhost:8080/testmatrixvariables/get/matrix/;v1=1;v2=2;v3=3我从调试日志中获得 org.springframework.beans.Type