小编sla*_*eth的帖子

JBoss 7中的全局web.xml配置

在JBoss 4.2.3中,我们可以配置项目

[jboss_server] /deploy/jboss-web.deployer/conf/web.xml

将被所有部署的应用程序采用.我们使用它来配置上下文参数,servlet和默认标记文件.

我们在war文件中部署了数十个应用程序,这是一个非常方便的工具.

这是如何在JBoss 7.1.1中完成的?我用Google搜索并搜索但似乎无法找到解决方案.

jboss7.x

5
推荐指数
1
解决办法
1331
查看次数

Spring 4 RestController Dispatcher url-pattern

我有一个带注释的休息控制器,如下所示.我能够获得主机服务,但前提是我在web.xml中为每个服务配置完整路径:

@RestController
@RequestMapping("/service/")
public class StuffRestController
{
    @RequestMapping("/getStuffList")
    public List<Stuff> getStuffList() { 
      ... make stuff ...
      return stuffList;
    }

    ... many other similar services ...
}
Run Code Online (Sandbox Code Playgroud)

这是我应用程序中唯一的弹簧资源; 虽然,我们正在使用弹簧安全.

以下是spring4-servlet.xml的唯一行:

<mvc:annotation-driven />  

<context:component-scan base-package="com.me.stuff.presentation.controller" />  
<context:component-scan base-package="com.me.stuff.security" />
Run Code Online (Sandbox Code Playgroud)

StuffRestController类驻留在"... controller"包中.

web.xml中:

 <servlet>    
  <servlet-name>spring4</servlet-name>    
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>    
  <init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>WEB-INF/spring4-servlet.xml</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>    
 </servlet>
 <servlet-mapping>    
  <servlet-name>spring4</servlet-name>    
  <url-pattern>/service/getStuffList</url-pattern>   
 </servlet-mapping> 
Run Code Online (Sandbox Code Playgroud)

以上所有实际上都运行良好和花花公子,但在这个控制器中还有30个其他服务,我宁愿不为每个方法创建一个新的servlet映射.当我尝试"通配"映射时,会出现此问题.我试过/ service/,/ service和/ service/*.还有很多其他组合.

大多数都没有正确映射,我收到404错误.如果我使用/ service/*,它会在调用/ service/getStuffList时使用调度程序servlet,但它会响应:

WARNING: No mapping found for HTTP request with URI [/myapp/service/getStuffList] in DispatcherServlet with name 'spring4'
Run Code Online (Sandbox Code Playgroud)

我确信这对于URL映射的创建方式来说很简单,但它让我无法理解.

java spring

4
推荐指数
1
解决办法
6734
查看次数

标签 统计

java ×1

jboss7.x ×1

spring ×1