2013-11-22 35 views
0

我使用jersey framework開發的。這個程序有兩個功能。如何在Jersey Framework中使用'可視'?

JSON通信函數和JSP調用函數。 但是,只有JSON函數的作品。

JSP文件位於此路徑中。

.../WEB-INF /視圖/ myJSP.jsp

而且,網址是..

JSP功能:HTTP:// {HOST}:{端口}/PROJ/myClass的/ FuncJSON

JSON功能:HTTP:// {主機}:{端口} /凸出/ myClass的/ FuncJSP

這是我的web.xml

<!-- for FuncJSP --> 
<filter> 
    <filter-name>funcjsp</filter-name> 
    <filter-class>com.sun.jersey.spi.container.servlet.ServletContainer 
    </filter-class> 
    <init-param> 
     <param-name>com.sun.jersey.config.property.packages</param-name> 
     <param-value>proj.com.compony.proj.service</param-value> 
    </init-param> 
    <init-param> 
     <param-name>com.sun.jersey.config.property.JSPTemplatesBasePath 
     </param-name> 
     <param-value>/WEB-INF/views/</param-value> 
    </init-param> 
    <init-param> 
     <param-name>com.sun.jersey.config.property.WebPageContentRegex 
     </param-name> 
     <param-value>/WEB-INF/views/.*</param-value> 
    </init-param> 
</filter> 
<filter-mapping> 
    <filter-name>funcjsp</filter-name> 
    <url-pattern>/proj/myClass/funcJSP/*</url-pattern> 
</filter-mapping> 

<!-- for FuncJSON --> 
<servlet> 
    <servlet-name>funcjson</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>proj.com.compony.proj.service</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>funcjson</servlet-name> 
    <url-pattern>/proj/*</url-pattern> 
</servlet-mapping> 

這是我的資料來源。

@POST 
@Consumes(MediaType.APPLICATION_JSON) 
@Produces(MediaType.APPLICATION_JSON) 
@Path("/FuncJSON") 
public String funcJSON(JSONObject jsonObject, @Context HttpServletRequest req, @Context HttpServletResponse res) { 
    ... 
    log.debug("** funcJSON **"); 
} 


@GET 
@Produces(MediaType.TEXT_HTML) 
@Path("/FuncJSP") 
public Viewable funcJSP(
     @Context HttpServletRequest req, 
     @Context HttpServletResponse res) { 
    ... 
    log.debug("** funcJSP **"); 
    return new Viewable("/myJSP.jsp"); 
} 

如果我執行FuncJSP, 「** ** funcJSP」 記錄在日誌文件中。

但是,結果視圖是「沒有收到數據(Chrome)」。

請給我一些建議:)

回答

0

嘗試使用不同的映射,看看它是否工作第一:的

代替:

<filter-mapping> 
    <filter-name>funcjsp</filter-name> 
    <url-pattern>/proj/myClass/funcJSP/*</url-pattern> 
</filter-mapping> 

使用:

<filter-mapping> 
    <filter-name>funcjsp</filter-name> 
    <url-pattern>/rest/myClass/funcJSP/*</url-pattern> 
</filter-mapping> 
相關問題