2013-11-22 4 views
0

Я разработал использование каркаса джерси. Эта программа имеет две функции.Как использовать «Просмотр» в «Джерси-каркасе»?

Функция связи JSON и функция вызова JSP. Однако работает только функция JSON.

JSP-файл расположен по этому пути.

.../WEB-INF/просмотров/myJSP.jsp

И, URL есть ..

JSP Функция: HTTP: // {хост}: {порт }/проектируемый/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> 
Смежные вопросы