Web项目的WEB-INF目录使用说明

       在web项目中,为了安全,可能需要把jsp、html等页面文件放在WEB-INF目录下,这样如果我们的页面中出现超链接<a>标签或者<script></script>脚本下的location.href去直接转向到WEB-INF下的某一个jsp或者html页面,那么就会引用不到,因为这样的请求方式是客户端的请求,而WEB-INF页面只对服务端开放,对客户端是不可见的。

       css/js/html没有必要放在WEB-INF下。 最终这些会被原封不动的展现在客户端,所以访问安全根本就不会成为问题。 
       jsp放在web-inf下,原因主要有两个 
      1. 远古时代的模式会把业务逻辑,数据库连接等敏感信息写在jsp里面,被用户直接访问会有安全问题。 
现代模式里这个不再成为问题,不应该成为问题。 
       2. jsp是在服务器端运行的,而且通常都需要其他程序支持——比如后台处理好数据再让jsp渲染等,用户直接访问一则没有意义,二则会抛异常,这些都浪费服务器资源。

      对于安全要求很严格的系统来说,不允许随便访问你的jsp文件,你可以放到web-inf下面,对于安全性要求没有那么严格的系统来说,你可以直接放到webroot下面。

 

 

 

web project网页放在WEB-INF下面受保护,不能直接访问,有下面三种方式:

假设要发布的网页为a.jsp,建表单form。

1、在web.xml中,将默认<welcome-file>index.jsp</welcome-file>改成<welcome-file>./WEB-INF/view/a.jsp</welcome-file>,其他注释:

   <!-- <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>  -->
    <welcome-file>./WEB-INF/view/a.jsp</welcome-file> 

访问方式为:http://localhost:8080/demo/

2、建servlet,jump.java,doGet下写方法

RequestDispatcher rd = request.getRequestDispatcher("./WEB-INF/view/a.jsp");
rd.forward(request, response);

在web.xml中给URL取访问名,jump:

    <servlet-name>jump</servlet-name>
    <servlet-class>database.jump</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>jump</servlet-name>
    <url-pattern>/jump</url-pattern>
  </servlet-mapping>

访问方法:http://localhost:8080/demo/jump

3、在web.xml中自建<servlet-mapping>

在a.jsp中修改from action的获取方式:

<form action="<%=request.getContextPath() %>/doinsert" method="post">

访问方式:访问方法:http://localhost:8080/demo/doinsert.jsp

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值