簡體   English   中英

未調用Jersey SQLException映射器

[英]Jersey SQLException Mapper not Called

這是我的SqlExceptionMapper

@Provider
public class SqlExceptionMapper implements ExceptionMapper<SQLException> {

    @Override
    public Response toResponse(SQLException e){
        return ResponseBuilder.error(Response.Status.UNAUTHORIZED.getStatusCode(), "success", null, e.getMessage());        
    }

}

在這里我在函數的catch塊中拋出異常

public void myfunction()throws SQLException {
    try {       
        // some code that throws an sql exception 
    } catch (SQLException e) {
        final Logger logger = Logger.getLogger(Image.class);
        logger.error("This is error", e);
        throw new SQLException();
    }
}

這是我的web.xml

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application -image Rest API's</display-name>
  <servlet>  
        <servlet-name>jersey-serlvet</servlet-name>  
        <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>  
        <init-param>       
            <param-name>com.sun.jersey.config.property.packages</param-name>       
            <param-value>com.image.controller;com.image.exceptionmapper</param-value>  
            <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
            <param-value>true</param-value>     
        </init-param>  
        <load-on-startup>1</load-on-startup> 
    </servlet>
    <servlet-mapping>  
        <servlet-name>jersey-serlvet</servlet-name>  
        <url-pattern>/*</url-pattern> 
    </servlet-mapping>
</web-app>

我已經調試了代碼,並且catch塊拋出SQLException,唯一的問題是它沒有映射到我創建的映射器。

我認為命名有誤。

我將類從sqlExceptionMapper重命名為SQLExceptionMapper並重新編譯它。

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM