我打算开发一个Intranet应用程序(Java客户端,JSP,SQLite)
这样做的目的是当用户点击链接时,如果用户有权访问(对于在业务逻辑中处理的团队),则应提供一个文件供下载
数据库中有一个表保存信息,下面是示例行
ID | file | team | md5
1 | D:\test\output_20140915_100012.zip | Falcon | 5cceaf4cc400fd8f5c7fb4b2af754f4093369f59
Run Code Online (Sandbox Code Playgroud)
其中MD5是字符串"D:\ test\output.zip"的MD%校验和,而不是文件本身
我只是为了拥有随机数而创建MD5.我不使用RAND的原因是为了避免碰撞(这部分是微不足道的)
我希望我的网址看起来像这样
http://mywebserver:8080/<appname>/5cceaf4cc400fd8f5c7fb4b2af754f4093369f59
Run Code Online (Sandbox Code Playgroud)
应该采取哪些措施
http://mywebserver:8080/<appname>/download.jsp?id=5cceaf4cc400fd8f5c7fb4b2af754f4093369f59
Run Code Online (Sandbox Code Playgroud)
我正在使用Tomcat,我想知道如何为这个场景重写URL
我建议使用Apache HTTP Server或其他服务器.但是如果你只想用Tomcat 7做这件事,请使用Tuckey UrlRewriteFilter:
适用于任何兼容的Web应用程序服务器(如Tomcat,JBoss,Jetty或Resin)的Java Web Filter,它允许您在访问代码之前重写URL.它就像Apache的mod_rewrite一样非常强大.
此过滤器允许您定义以下规则:
清理网址
Run Code Online (Sandbox Code Playgroud)<rule> <from>/products/([0-9]+)</from> <to>/products/index.jsp?product_id=$1</to> </rule>例如,/ products/1234将被传递到/products/index.jsp?product_id=1234而无需用户注意
从Tomcat 8开始,您可以使用重写阀.
重写阀以与Apache HTTP Server中的mod_rewrite非常相似的方式实现URL重写功能.
| 归档时间: |
|
| 查看次数: |
19596 次 |
| 最近记录: |