我开发了使用泽西框架。这个程序有两个功能。
JSON通信功能和JSP调用功能。 但是,只有JSON函数可以工作。
JSP文件位于此路径。
... / WEB-INF /视图/ myJSP.jsp
并且,URL是..
JSP函数:http:// {host}:{port} / proj / myClass / FuncJSON
JSON功能:http:// {host}:{port} / proj / 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 :(得分: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>