JSP 从数据库中如何取得图片的路径?

JSP 从数据库中如何取得图片的路径?,第1张

我的笔记:

6:对数据库存取图片进行的 *** 作:

核心思想:通过二进制流的形式进行存储和读取。

具体:存储图片:一般是通过文件上传的方式进行存储的

1.首先通过request获得表单中图片的地址

2.然后根据这个路径可以使FileInputStream获得文件输入流

3.pstmt.setBinaryStream(i,

fis,

fis.available())

最后pstmt.executeUpdate()就完成整个插入语句了。

读取:1.根据url的id传一个对应数据库摸个图片的id号

2.根据这个id执行查询,通过rst.getBinaryStream(1)返回一个输入流(里面存的是图片)

3.读输入流,放到字节数组中,再通过response返回一个能输出二进制流的ServletOutputStream实例(ServletOutputStream

sos=

response.getOutputStream()

),

4.通过这个输出流把字节数组的字节流写出

希望对你有所帮助哈

jsp中实现文件上传选择是通过input file=“file”实现的。

举例如下:

有一个如下内容的upload.jsp文件,用来选择要上传的文件:

<html>

<head>

<title>Jsp文件上传例子</title>

</head>

<body>

<form name="upform" action="UploadServlet" method="POST" enctype="multipart/form-data">

<input type ="file" name="file1" id="file1"/><br/>

<input type="submit" value="上传" /><br/>

<input type="reset" />

</form>

</body>

</html>

上面文件值得注意的地方:

1. action="UploadServlet" 必须和后面的web.xml配置文件中对servlet映射必须保持一致.

2. method="POST" 这里必须为"POST"方式提交不能是"GET".

3. enctype="multipart/form-data" 这里是要提交的内容格式,表示你要提交的是数据流,而不是普通的表单文本.

4. file1表示你要上传一个文件.

java文件中获得路径

Thread.currentThread().getContextClassLoader().getResource("") //获得资源文件(.class文件)所在路径

ClassLoader.getSystemResource("")

Class_Name.class.getClassLoader().getResource("")

Class_Name.class .getResource("/")

Class_Name.class .getResource("") // 获得当前类所在路径

System.getProperty("user.dir") // 获得项目根目录的绝对路径

System.getProperty("java.class.path")//得到类路径和包路径

打印输出依次如下:

file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/

file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/

file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/

file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/

file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/com/xml/imp/

F:\work_litao\uri_test

F:\work_litao\uri_test\WebContent\WEB-INF\classesF:\work_litao\uri_test\WebContent\WEB-INF\lib\dom4j.jar

2、 JSP中获得当前应用的相对路径和绝对路径

根目录所对应的绝对路径:request.getRequestURI()

文件的绝对路径  :application.getRealPath(request.getRequestURI())

当前web应用的绝对路径 :application.getRealPath("/")

取得请求文件的上层目录:new File(application.getRealPath(request.getRequestURI())).getParent()

3.1 JSP中获得当前应用的相对路径和绝对路径

根目录所对应的绝对路径:request.getRequestURI()

文件的绝对路径  :application.getRealPath(request.getRequestURI())

当前web应用的绝对路径 :application.getRealPath("/")

取得请求文件的上层目录:new File(application.getRealPath(request.getRequestURI())).getParent()

3、Servlet中获得当前应用的相对路径和绝对路径

根目录所对应的绝对路径:request.getServletPath()

文件的绝对路径 :request.getSession().getServletContext().getRealPath(request.getRequestURI())

webapp路径:request.getSession().getServletContext().getRealPath("/")

当前web应用的绝对路径 :servletConfig.getServletContext().getRealPath("/")

(ServletContext对象获得几种方式:

javax.servlet.http.HttpSession.getServletContext()

javax.servlet.jsp.PageContext.getServletContext()

javax.servlet.ServletConfig.getServletContext()

)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9605348.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存