子晓聊技术 2012-07-20 14:44
浏览 234
已采纳

文本路径保存在数据库,怎么在JSP显示文本内容

问题背景:
由于文本和图片都是保存路径到数据库,起初只是做前台,通过以下语句可以把放在web工程下的图片和文本显示出来。

" />

后来开始做后台管理系统,重新建立的一个web工程,我采取的虚拟路径,把d:\site做为虚拟路径,在ie浏览器中可以
http://localhost:8080/site/a.jpg,http://localhost:8080/site/a.txt就可以把放在d:\site下的a.jpg,a.txt读取出来。

我用apache上传组件,把图片和文件上传到d:\site后,然后把/site/a.jpg, /site/a.txt地址保存进mysql,在jsp页面

" />却无法显示。原因我知道,这里的contentpath是相对路径,而site与工程在同一个目录下。我本来想请求的是http://localhost:8080/site/a.txt,我的请求却变成了http://localhost:8080/webapp/site/a . txt 。

在这里,我想知道怎么把数据库读取的/site/a.txt在jsp中显示的方法

  • 写回答

1条回答

  • iteye_5246 2012-07-20 15:36
    关注

    方法1:存相对服务器路径
    文本路径保存在数据,如果这个文本路径是本地路径例如:
    c:/demo.txt想这样的,在jsp上是不能被访问的(本机作为jsp部署机器的话是可以访问的,局域网的其他电脑访问无法访问)
    可以这样做,把文本上传到服务器一个指定的位置
    例如:tomcat的目录是
    D:\apache-tomcat-6.0.20
    那么部署后的目录就是:
    D:\apache-tomcat-6.0.20\webapps\项目名\
    这样当浏览器输入:
    http://localhost:8080/项目/index.jsp
    (其他机器需要把localhost换成 服务器ip)
    当浏览器输入这个地址后。会加载 tomcat下面资源
    那么如何获取这个路径:
    String temp=request.getRealPath("/");//获取项目部署的位置
    String temp1=request.getRealPath("/index.jsp");//获取当前jsp所在服务器位置
    也就是D:\apache-tomcat-6.0.20\webapps\项目名\WEB-INF****
    有了这个路径了,那么java file对象根据这个路径就能找到对应的文件了
    前提是 文本已经在服务器指定的位置了,当然可以新建一个目录存放所有文本的路径
    例如:D:\apache-tomcat-6.0.20\webapps\项目名\WEB-INF\files
    存入数据库的也就是:\files\文件名
    至于如何把文件上传到服务器:
    这样做:获取项目路径[request.getRealPath("/");]+"/files"
    读取一个文件,写入到上面的位置中
    在获取这个路径的时候是一请求,同样获取request.getRealPath("/")+数据库读取的文件路径文件名
    java io 读取这个内容输出到页面上,或者同样可以以下载的形式让用户下载到本地浏览

    方法1:读取文件bytes 数据库采用大对象形式保存,用字段保存后缀[文件类型]
    相关思路:略,可以百度下,当然要看你用什么数据库了。
    希望能帮上忙

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料