-----------怎么通过配置文件实现url的伪装-----------

编程小妞儿 2010-10-28 09:23:59
我现在有一个做好的jsp web工程,我想把地址兰里的url与我工程里的实际路径不一样,怎么弄?请教!
就是说:我现在的访问路径是:http://localhost:8080/demo/index.jsp
我想让它在地址兰里显示成:http://localhost:8080/demo/1.jsp
我不希望去改工程,j2ee的,要改的话工作量不小呢。。

能只通过配置文件,实现这个障眼法吗?



我在网上查过有关:url伪装 ,这个要求在servlet跳转的时候就写成一个伪静态的跳转地址,然后通过一个xml文件把<from>来的静态地址再往<to></to>里的实际地址。

但问题是:现在的我的工程servlet里的跳转路径都已经写好了,是实际路径,请教在这种情况下怎么实现,url的伪装呢?
...全文
240 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
编程小妞儿 2010-10-29
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zn85600301 的回复:]
引用 8 楼 c_4444 的回复:

引用 7 楼 bao110908 的回复:
意义何在?


表面上看是:优化url,方便收录,隐藏网站真实路径,也是有一定安全性的!
实现意义:略!

个人觉得 只是 掩耳盗铃··· 我知道你也是无辜的
[/Quote]


额。。。
实际上是很有意义的,比如我拿来一个别人的网站,我把页面都改了。。但是地址很能被人发现,所以我想搞个url的伪装,这样子比较安全一些!技术是需要灵活运用的!懂不?
zn85600301 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 c_4444 的回复:]

引用 7 楼 bao110908 的回复:
意义何在?


表面上看是:优化url,方便收录,隐藏网站真实路径,也是有一定安全性的!
实现意义:略!
[/Quote]
个人觉得 只是 掩耳盗铃··· 我知道你也是无辜的
编程小妞儿 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 bao110908 的回复:]
意义何在?
[/Quote]

表面上看是:优化url,方便收录,隐藏网站真实路径,也是有一定安全性的!
实现意义:略!
  • 打赏
  • 举报
回复
意义何在?
编程小妞儿 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lp19890601 的回复:]
為靜態,只能訪問你設的虛擬目錄

你servlet必須是你對應的虛擬目錄!
[/Quote]

[b]不能逆向吗?[/b]
编程小妞儿 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fclxyz 的回复:]
用struts就可以了吧
[/Quote]

能具体说一下吗?
tom_66 2010-10-28
  • 打赏
  • 举报
回复
用struts就可以了吧
lp19890601 2010-10-28
  • 打赏
  • 举报
回复
為靜態,只能訪問你設的虛擬目錄

你servlet必須是你對應的虛擬目錄!
编程小妞儿 2010-10-28
  • 打赏
  • 举报
回复
楼上,谢谢你第一时间回答我的问题!

我之前在网上查过了。。。这个主要实际伪静态。但是伪静态好像
要在servlet里提前写一个伪静态地址。。如下:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {


response.sendRedirect("/a.jsp");

}

然后在urlrewrite.xml下配置如下:

<urlrewrite>
<rule>
<from>/a.jsp</from>
<to>/index.jsp</to>
</rule>

</urlrewrite>

实现的结果应该是:你访问http://localhost:8080/a.jsp,url里显示的是a.jsp,但结果走的是index.jsp.

现在问题是:我servlet里的跳转是:index.jsp,不能修改servlet,我想让地址兰里显示成a.jsp怎么办?
lp19890601 2010-10-28
  • 打赏
  • 举报
回复
web.xml


.....
<servlet-mapping>
<servlet-name>plugin_match</servlet-name>
<url-pattern>/dyn/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>plugin_match</servlet-name>
<url-pattern>/html/*</url-pattern>
</servlet-mapping>
.....


urlrewrite.xml


<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN"
"http://tuckey.org/res/dtds/urlrewrite2.6.dtd">

<urlrewrite decode-using="GBK">
<rule>
<from>html/(about|play|play_02|play_03|play_04|play_05|play_06|play_07|play_08|play_09|shop|feature).htm$</from>
<to type="forward">html/$1.jsp</to>
</rule>
<rule>
<from>html/news_content_(\w+).html$</from>
<to type="forward">html/news_content.jsp?id=$1</to>
</rule>
<rule>
<from>dyn/newslist_(\w+).html$</from>
<to type="forward">html/news.jsp?type=$1</to>
</rule>
<rule>
<from>dyn/newshow_([0-9]+).html$</from>
<to type="forward">html/news_content.jsp?id=$1</to>
</rule>
<rule>
<from>dyn/piclist_([0-9]+).html$</from>
<to type="forward">html/pic.jsp?id=$1</to>
</rule>
<rule>
<from>dyn/picshow_([0-9]+).html$</from>
<to type="forward">html/pic_content.jsp?id=$1</to>
</rule>
<rule>
<from>dyn/reviselist.html</from>
<to type="forward">html/revises.jsp</to>
</rule>
<rule>
<from>dyn/reviseshow_([0-9]+).html$</from>
<to type="forward">html/revisescontent.jsp?id=$1</to>
</rule>
<rule>
<from>dyn/system.html</from>
<to type="forward">html/system.jsp</to>
</rule>
<rule>
<from>dyn/topicshow_([0-9]+).html$</from>
<to type="forward">html/system_content.jsp?id=$1</to>
</rule>
<rule>
<from>dyn/faqlist.html</from>
<to type="forward">html/faq.jsp</to>
</rule>
<rule>
<from>dyn/faqshow_([0-9]+).html$</from>
<to type="forward">html/faq_content.jsp?id=$1</to>
</rule>
</urlrewrite>


一個 urlrewrite-3.2.0.jar

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧