这是我的web.xml文件中一个servlet的代码:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>redirect.jsp</welcome-file>
</welcome-file-list>
我可以复制并粘贴和更改某些值并再次使用吗?
第二个问题(可以帮助第一个问题)
目前,当我使用此url localhost / HelloSpring在glassfish中部署我的应用程序时 我得到了404.但是,当我在最后添加/ home时:localhost / HelloSpring / home 它会转到正确的页面。我也可以在末尾添加/索引localhost / HelloSpring / index,这也正常工作。那么如何从启动时加载localhost / HelloSpring / home而不必手动输入,从而避免404错误?
注意:在servlet映射中将url模式从/更改为/ home时,修复了/ home问题,但意味着/ index将无法正常工作
总而言之,如何从部署中加载localhost / home,然后在url / index中键入index并显示正确的页面?
P.S。 stackoverflow不会让我输入我的完整地址链接所以假设我说的localhost它包含端口:8080后直接
答案 0 :(得分:0)
您的servlet无法自动识别主页。您必须通过使用重定向页面(您已将其包含在welcome-file-list中)告诉它,或者将提供主页的控制器映射到根目录:
@RequestMapping(value = { "/", "/home" }, method = RequestMethod.GET)
答案 1 :(得分:0)
对于第一个问题,您当然可以在web.xml文件中声明任意数量的servlet,但我真的无法确定用于声明多个DispatcherServlet
的用例。
您的第二个问题似乎与在Spring MVC应用程序中命中根URL的问题有关。我前段时间尝试过发布我在问题上发现的内容:Match for root url and serving of static resources