JavaWeb开发分享:WebJars

换了新工作之后,忙了好多,基本没什么时间上网了,写Blog也变少了,还是以前那种技术驱动的环境好,大家都在积极学新技术,分享新技术。现在技术环境少了好多,学习激情也少了好多。不说了,写写自己学习的WebJars。

Java Web前端通常需要使用JS或CSS技术,例如jQuery, Backbone.js,Twitter Bootstrap等等。以前我都是将这些Web资源拷贝到Java Web项目的Webapp相应目录下,这种通过人工方式拷贝可能会产生版本误差,拷贝版本错误,漏拷等现象,前端页面就无法正确展示。

当然对我自己这个一定程度的强迫症人员来说,一大堆文件夹和文件变成了一个jar,感觉非常良好。

WebJars是将Web前端Javascript和CSS等资源打包成Java的Jar包,这样在Java Web开发中我们可以借助Maven这些依赖库的管理,保证这些Web资源版本唯一性。基本原理如下:

With any Servlet 3 compatible container, the WebJars that are in the WEB-INF/lib directory are automatically made available as static resources. This works because anything in a META-INF/resources
directory in a JAR in WEB-INF/lib is automatically exposed as a static resource
.

下面说说如何具体使用WebJars,非常简单。

1.在maven的配置文件中定义要使用的js或者css对于的jar包

                <dependency>

                        <groupId>org.webjars</groupId>

                        <artifactId>bootstrap</artifactId>

                </dependency>

                <dependency>

                        <groupId>org.webjars</groupId>

                        <artifactId>jquery-cookie</artifactId>

                </dependency>

                <dependency>

                        <groupId>org.webjars</groupId>

                        <artifactId>dojo</artifactId>

                </dependency>

2. 在jsp文件中按以下路径获取jar中的文件 (webjars/js or css jar name/version/detail file name)

<script type="text/javascript" src="<%=request.getContextPath() %>/webjars/jquery/1.9.0/jquery.min.js"></script>
<script type="text/javascript" src="<%=request.getContextPath() %>/webjars/bootstrap/3.0.2/js/bootstrap.min.js"></script>
<script type="text/javascript" src="<%=request.getContextPath() %>/webjars/jquery-cookie/1.3.1/jquery.cookie.js"></script>

PS:处理静态资源大型网站肯定不是Java服务器,基本都是用apache或者nginx等来处理静态处理,性能更好。对于小网站,可以直接使用WebJars。

时间: 2024-08-27 02:32:23

JavaWeb开发分享:WebJars的相关文章

JavaWeb开发分享:urlrewriter

在Java Web开发中,有时候为了提高安全性(隐藏技术的实现,我们可以通过Url重写可以实现技术的隐藏,可以有效的避免一些参数名.ID等完全暴露在用户面前)或者提高网站的移植性和方便用户使用(用户不用关心你网站的页面的地址变更,后台方法改动的话,可以保证前台的页面地址部分不用改)会采用地址重写功能,将动态地址伪静态.这样还可以优化搜索引擎的抓取. 在Java中实现地址重写是通过过滤器常用的forward()和sendRedirect()来实现url重写.实现细节可以参考官方文档:URLRewr

JavaWeb学习总结(一)——JavaWeb开发入门(转载)

转载自http://www.cnblogs.com/xdp-gacl/p/3729033.html感谢孤傲苍狼的分享. 一.基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资源分为: 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变. 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同. 静态we

JavaWeb开发——软件国际化(文本元素国际化)

前几天围绕着JDBC编程进行了系统的学习.现在我们对Java程序数据库操作已经是轻车熟路了.也学会了使用各种框架来帮助我们简化编程. 今天是学习计划的第七天,虽然学习热情没有前几天高涨了.但是,写博客总结的习惯应该要坚持下去.废话不多说了. 今天的学习内容是JavaWeb开发--软件国际化. 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的.符合来访者阅读习惯的页面或数据. 国际化又称为 i18n:internationalization

关于JavaWeb开发的一些感悟

从事JavaWeb的开发已经三年了,从最开始的啥都不会,到慢慢的能够独立做项目,从一开始的一片茫然,到现在的心中有数.对于技术.业务也有了自己的看法. JavaWeb开发所涉及到的知识点非常多,涉及到非常多的底层知识,特别是网络编程.多线程.浏览器等等.但我们可能处于一个比较幸运的时代吧,我们并不需要对这些底层知识有非常精深的了解,就可以写出令人满意的程序. 我个人习惯将JavaWeb的知识分成两大块,一块是前端,一块是后端.这也是现在流行的开发趋势(甚至已经是事实了) 所谓后端,首选就是语言,

JavaWeb学习总结(一)JavaWeb开发入门

静态网页和动态网页 静态网页:在服务器上没有经过服务器解释执行的网页. 动态网页:在服务器上经过服务器解释执行的网页. 无论是静态网页还是动态网页,客户端看到的网页都是由HTML所构成的,所以JavaWeb开发需要懂HTML. Servlet和Servlet容器 Servlet:是一些实现了特定接口的Java类的集合. Servlet容器是JSP/Servlet代码运行的地方,是管理JSP/Servlet的地方. 其实Servlet容器就是一个服务器软件,比如Tomcat. HTTP协议 浏览器

JavaWeb开发中form、ajax提交数据Model转化

JavaWeb开发中form.ajax提交数据Model转化 问题 最近学习MongoDB数据库,作为java开发的我,当然需要做个小的web程序来测试一番了.在html中我采取ajax提交方式,因为我要模拟各种类型的数据,基础数据类型.数组.对象等.然而,最终发现了个不同的地方:Form和ajax提交数据,在HttpServletRequest中尽然参数名有所不同. 数据类型 form ajax 基础数据 para=value para=value 数组 para[]={"aaa",

JavaWeb开发环境配置

JavaWeb开发环境配置(win7_64bit) 目录 1.概述 2.JavaWeb学习路线 3.JavaWeb常用开发环境搭建 4.注意事项 >>看不清的图片可在新标签打开查看大图 1.概述 说起JavaWeb,就想到另一个词:JavaEE.很多时候,这两个词是混用的,两者的概念并不能精确描述,这里,我尝试做一下区分... JavaEE:全称Java平台企业版(Java Platform Enterprise Edition),是Sun公司为企业级应用推出的标准平台.JavaEE是个大杂烩

JavaWeb学习总结(一)——JavaWeb开发入门

一.基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资源分为: 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变. 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同. 静态web资源开发技术:Html 常用动态web资源开发技术:JSP/Servlet.ASP.PHP等 在Java中,动态web

JavaWeb开发---MVC案例之查询

现在Javaweb开发第一阶段学习步入实践阶段,在这儿将自己做的项目记下来,也方便积累经验. 下图是处理流程: MySQL数据库表如下所示: 1.在web项目webContent中新建test.jsp <%@ page language="java" contentType="text/html; charset=UTF-8"     pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC &q