子晓聊技术 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 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services