从数据库中检索图像并将其显示在JSF页面中

时间:2012-03-31 18:04:29

标签: jsf

我尝试按照http://balusc.blogspot.de/2007/04/imageservlet.html从数据库中检索图像并将其显示在JSF网站中(上传工作正常)。但是,虽然似乎一切都已设置,但servlet从未被调用(我使用日志语句验证了servlet永远不会被调用)。

  • 我包括上述课程并进行了调整(例如添加了Dao)
  • JSF文件中的网址<h:graphicImage value="image?id=#{pic.imghash}" />会导致例如在<img src="image?id=0412c29576c708cf0155e8de242169b1" />中(哈希值来自数据库)似乎也没问题。
  • 我确实在web.xml中包含了映射,它指向了正确的servlet类

我做错了什么?

问候,安迪

编辑:这是我的web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    id="WebApp_ID" version="3.0">

    <description>adm</description>

    <!-- Faces Servlet -->
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <!-- Faces Servlet Mapping -->
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>

    <session-config>
        <session-timeout>120</session-timeout>
    </session-config>

    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>

    <filter>
        <filter-name>Extensions Filter</filter-name>
        <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>Extensions Filter</filter-name>
        <servlet-name>Faces Servlet</servlet-name>
    </filter-mapping>

    <servlet>
        <servlet-name>imageServlet</servlet-name>
        <servlet-class>de.comp.tools.ImageServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>imageServlet</servlet-name>
        <url-pattern>/image/*</url-pattern>
    </servlet-mapping>
</web-app>

0 个答案:

没有答案