JAVA的web项目中,将jsp、js等文件放在WEB-INF目录下,那在jsp中怎么访问js文件?

JavaScript014

JAVA的web项目中,将jsp、js等文件放在WEB-INF目录下,那在jsp中怎么访问js文件?,第1张

上面截图是项目目录,我们要在jsonTest.jsp 文件中引入 WEB-INF/js/jquery-2.1.4.min.js文件,如下:

<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-2.1.4.min.js" ></script>

js是静态文件,jsp是动态文件,两个都可以用来保存复用函数。

我明白楼主的意思,将某些javascript过程封装成函数放在单独的文件里可以提高复用,事实上我们在项目开发中的确有两种选择,就像楼主所说的一种是放在js文件,而另一种是放在jsp文件里。

一般来说,放在jsp文件里可以获得比较好的灵活另,例如实现国际化,将js写在jsp文件里然后配合struts的标签是很容易实现的,但是这在js文件里就很难做到。

但是js文件也有一个有点,就是可以让客户端缓存,比如说,一个网站可能有很多个页面需要引用某个js函数,如果这个函数放在jsp文件,然后在每个页面都include它,那么每次页面加载时都将重复下载这部分代码;但是,如果放在js文件的话,那么客户端在第一次引用该函数时下载js文件,在后面的使用中发现路径相同就直接引用本地缓存的js文件。因为它是静态文件所以能够缓存。

总结一下,放在js文件可以降低网络传输量,所以,如果不是为了必须的灵活性,应该尽量使用js文件来保存javascript代码。

web.xml中配置

<servlet>

<servlet-name>StudentSer</servlet-name>

<servlet-class>ser.StudentSer</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>StudentSer</servlet-name>

<url-pattern>/servlet/StudentSer</url-pattern>

</servlet-mapping>

servlet使用RequestDispatcher到jsp页面

String url="/EShop.jsp"

ServletContext sc = getServletContext()

RequestDispatcher rd = sc.getRequestDispatcher(url)

rd.forward(req, res)