首页 > 代码库 > 【servlet】客户端是否可以访问到WEB-INF下的jsp文件
【servlet】客户端是否可以访问到WEB-INF下的jsp文件
一般情况下(不考虑出现安全问题被入侵,那样啥都能访问到),WEB-INF下的jsp文件单凭浏览器端请求时访问不到的。
想访问的话需要通过服务端servlet的转发。
下面通过转发和重定向的尝试来观察访问情况。
引申:dlut 教务处的网站改一下url就可以访问到所有人的成绩,个人认为jsp文件一定是在WEBRoot根目录下,而不是在WEB-INF目录下
至于为什么看出是jsp文件(后缀名经过了隐藏)...看到刚登陆时的action...就知道是struts2没跑了....
TestServlet.java
package com.balfish.servlet;import java.io.IOException;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.jsp.PageContext;public class TestServlet extends HttpServlet{ private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //下面的转发方式可以,内部转发,可以访问到WEB-INF下的jsp页面 //req.getRequestDispatcher("/WEB-INF/page/index.jsp").forward(req,resp); //下面的转发方式不可以,相当于重新向浏览器发送一次请求,那样相当于用户级别的访问 //提示错误: The requested resource is not available. resp.sendRedirect(req.getContextPath() + "/WEB-INF/page/index.jsp"); //以下面的url来访问index.jsp,可以看到只要配好 web.xml 里的 url-pattern 即可 可以做url欺骗 //http://localhost:8080/myWeb/1.txt } public void destroy() { super.destroy(); } public void init(ServletConfig config) throws ServletException { super.init(config); } }
web.xml
<?xml version="1.0" encoding="ISO-8859-1"?><web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0" metadata-complete="true"> <servlet> <servlet-name>test1</servlet-name> <servlet-class>com.balfish.servlet.TestServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>test1</servlet-name> <url-pattern>/1.txt</url-pattern> </servlet-mapping></web-app>
WEB-INF 下的page下的index.jsp用模板即可,只为说明问题
【servlet】客户端是否可以访问到WEB-INF下的jsp文件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。