【问题标题】:servlets: display image from outside the project dirservlet:显示来自项目目录之外的图像
【发布时间】:2016-02-19 01:28:04
【问题描述】:

我正在使用 netbeans IDE 开发 JAVA Web 项目,我想显示项目目录外文件夹中的一些图像,通过我的 servlet 上传它们后,这是我的代码:

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>views/index.jsp</welcome-file>
    </welcome-file-list>

    <servlet>
        <servlet-name>login</servlet-name>
        <servlet-class>controllers.LoginController</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>login</servlet-name>
        <url-pattern>/login</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>index</servlet-name>
        <jsp-file>/views/index.jsp</jsp-file>
    </servlet>

    <servlet-mapping>
        <servlet-name>index</servlet-name>
        <url-pattern>/index</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>students</servlet-name>
        <servlet-class>controllers.StudentController</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>students</servlet-name>
        <url-pattern>/students</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>books</servlet-name>
        <servlet-class>controllers.BookController</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>books</servlet-name>
        <url-pattern>/books</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>admins</servlet-name>
        <servlet-class>controllers.AdminController</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>admins</servlet-name>
        <url-pattern>/admins</url-pattern>
    </servlet-mapping>

    <context-param>
            <param-name>uploads</param-name>
            <param-value>C:/Users/mohammad/Documents/NetBeansProjects/uploads</param-value>
    </context-param>

</web-app>

jsp中的img:

<img src="C:/Users/mohammad/Documents/NetBeansProjects/uploads/name.jpg"/>

小服务程序:

我在一个 json 对象中发送它:

object.add("<img src=\""+getServletContext().getInitParameter("uploads")+"/"+book.getImage()+"\"/>");

我确定该文件夹中存在图像,但无法加载,这是什么问题?

【问题讨论】:

    标签: java jsp tomcat servlets


    【解决方案1】:

    您应该在图像扩展名的 web.XML 文件上添加过滤器,该文件实际上指定可以通过前端控制器传递什么样的外部资源.. 请您发布您的 web.xml

    你可以试试这个链接Upload an image to a Path set in web.xml using primefaces

    【讨论】:

    • 您在 json 中添加图像文件或仅文件名?如果要在 json 中添加图像,则需要先将其编码为 BASE64 字符串,然后将其发送到 JSP 再解码,然后您可以在 JSP 上渲染它。但是,如果只有您尝试放置图像的完整绝对路径,那就没问题了。我很困惑您将什么样的图像信息添加到 JSON(位置或文件本身)。
    • 是的,我的意思是我要添加它的位置,而不是文件本身!
    猜你喜欢
    • 2023-04-09
    • 1970-01-01
    • 2012-09-18
    • 1970-01-01
    • 2017-03-16
    • 1970-01-01
    • 2015-09-22
    • 1970-01-01
    • 2018-02-04
    相关资源
    最近更新 更多