关于WEB-INF下的jsp,使用绝对路径如何访问?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于WEB-INF下的jsp,使用绝对路径如何访问?相关的知识,希望对你有一定的参考价值。

我的index.jsp页面在WebRoot下,要链接到的jsp页面在WEB-INF下,使用超链接怎样链接到WEB-INF下的那个页面?用绝对路径,请高手指教,多谢多谢。

要想使用绝对路径进行访问,首先在要超链接处写入如下内容:

<a href=PlayerServlet?url=WEB-INF/admin/manage_player.jsp>

然后新建一个servlet,输入如下内容:

<span style="font-size:14px;">package cn.edu.hpu.servlet;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse; 

public class PlayerServlet extends HttpServlet

最后还要注意不要忘了在web.xml里边配置信息:

<servlet>

<description>This is the description of my J2EE component</description>

<display-name>This is the display name of my J2EE component</display-name>

<servlet-name>PlayerServlet</servlet-name>

<servlet-class>cn.edu.hpu.servlet.PlayerServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>PlayerServlet</servlet-name>

<url-pattern>/PlayerServlet</url-pattern>

</servlet-mapping>

得到以上结果即可以完成对WEB-INF下的jsp使用路径的绝对访问了。

扩展资料:

JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计。它是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。

Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。


参考资料:百度百科-JSP页面服务器

参考技术A WEB-INF下的东西是禁止直接访问的。如果这个页面是你的,要想让人访问最好不要放在这个目录下。如果一定放在那里。你可以使用:
request.getRequestDispatcher("/WEB-INF/test.jsp").forward(request,response);

所以你想直接添加一个链接那肯定是没发过去的。你可以先跳到一个jsp,那个jsp里写上上面的代码就可以了。本回答被提问者采纳
参考技术B 使用<jsp:forward page="/WEB-INF/jsp/test.jsp" />
这样就可以了。
web-inf下的文件是受保护的,不允许使用redirect访问的,只能通过forward访问。
详细内容请参考
http://blog.csdn.net/sunlen/archive/2005/06/09/390944.aspx
参考技术C http://localhost:8080/项目名/

如果默认主页是index.jsp就可以了,如果不是

http://localhost:8080/项目名/index.jsp

这样就行了。。。

好运!
参考技术D <a href=" <%=request.getContextPath() %>/**.jsp ">连接地址名</a>
或者<a href=" /项目名/**.jsp ">链接地址名</a>

个人建议使用第一种,这样的话换个机器 直接把项目拷到另一个机子上 也不必改地址了。

WEB-INF下的jsp文件如何访问css和js文件

今天帮一个同学找出了web项目问题的原因,这个问题是关于WEB-INF下的jsp文件如何访问css和js文件。

先看一下文件的大致位置(jsp与css文件都同处WEB-INF内):

 

 

该同学想WEB-INF里面的head.jsp文件加载同目录下的head.css文件,用了如下常规的方法:

<head><link rel="stylesheet" href="/campus/WEB-INF/css/head.css" type="text/css"></link></head>

发现怎么都加载不了该css文件,后来又尝试了好几种都不见效。

我们都知道,为了安全,我们会将绝大部分的jsp文件放入我们的WEB-INF中,然后利用外部

的index.jsp中的forward语句来访问其内部文件,这是因为WEB-INF内部文件是受保护的,想

到这一点,猜测jsp获取不了css文件的原因可能是某段路径被拦截了,所以就尝试着用获取当

前项目的根地址来加载css,代码如下:

 <head><link rel="stylesheet" href="<%=request.getContextPath() %>/WEB-INF/css/head.css" type="text/css"></link></head>

结果还是无法加载WEB-INF里面的css文件,百思不得其解,尔后又尝试着将css文件放在了

Web-Root下面,即与WEB-INF同级,如图:

 

发现用上面两种方法都可以加载到css文件了。究其原因,是由于将css文件放入了WEB-INF

里面,导致jsp无法正常访问到相应的路径。也就是说css跟js文件是不建议放在WEB-INF目

录下的,一般放在与WEB-INF同级即可。
————————————————
版权声明:本文为CSDN博主「梦想的边缘」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/gsycwh/java/article/details/52098097

以上是关于关于WEB-INF下的jsp,使用绝对路径如何访问?的主要内容,如果未能解决你的问题,请参考以下文章

请问servlet路径怎么设置?

关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件

web-inf下的jsp怎么访问

java 部署tomcat后 访问jsp页面路径总是404

怎么访问web-inf目录下的文件

关于WEB-INF目录下的静态资源(jscssimg)的访问