发表于: 2018-03-27 17:12:14

1 599


今日完成:

1,学习了Jetty.

  Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。

      易用性

易用性是 Jetty 设计的基本原则,易用性主要体现在以下几个方面:

通过 XML 或者 API 来对Jetty进行配置;默认配置可以满足大部分的需求;将 Jetty 嵌入到应用程序当中只需要非常少的代码;

可扩展性

在使用了 Ajax 的 Web 2.0 的应用程序中,每个连接需要保持更长的时间,这样线程和内存的消耗量会急剧的增加。这就使得我们担心整个程序会因为单个组件陷入瓶颈而影响整个程序的性能。但是有了 Jetty:
即使在有大量服务请求的情况下,系统的性能也能保持在一个可以接受的状态。利用 Continuation 机制来处理大量的用户请求以及时间比较长的连接。 另外 Jetty 设计了非常良好的接口,因此在 Jetty 的某种实现无法满足用户的需要时,用户可以非常方便地对 Jetty 的某些实现进行修改,使得 Jetty 适用于特殊的应用程序的需求。

      易嵌入性

Jetty 设计之初就是作为一个优秀的组件来设计的,这也就意味着 Jetty 可以非常容易的嵌入到应用程序当中而不需要程序为了使用 Jetty 做修改。从某种程度上,你也可以把 Jetty 理解为一个嵌入式的Web服务器。

Jetty 可以作为嵌入式服务器使用,Jetty的运行速度较快,而且是轻量级的,可以在Java中可以从test case中控制其运行。从而可以使自动化测试不再依赖外部环境,顺利实现自动化测试。

Jetty Maven plugin(插件)对于快速开发和测试是很有用的。你可以把它加到任何的通过常规的Maven默认来构建的webapp项目中。这个插件可以定周期地扫描你的项目为了检测变化,然后自动重新部署任何被找到的webapp项目。通过消除建立和部署步骤使得开发周期更加富有成效的:通过使用IDE来使你的项目改变,然后正在运行的web container(容器)能自动地检测到它们的变化,并允许你马上测试它们。

    jetty 可以在测试开发环境也去掉项目名访问

配置

[html] view plain copy
  1. <webAppConfig>    
  2.                        <contextPath>/</contextPath>    
  3.                    </webAppConfig>   



用jetty跑通程序.

在实现jetty的过程中遇到了以下几个bug.问题显示不能处理依赖.于是我百度后发现Jetty从一开始就已经存在于Maven中心了,所以Maven的坐标在最近几年也发生了变化,当Jetty基于SourceForge管理时Maven的groupId是org.mortbay.jetty,当Jetty 7来到eclipse后groupId也改变了。

Jetty的POM坐标如下

<dependency> 

 <groupId>org.eclipse.jetty</groupId> 

 <artifactId>jetty-project</artifactId> 

 <version>${project.version}</version>

 </dependency>

而我的是原版本的


修改后发现还是依赖有问题.于是我打开了maven projects里的dependencies发现log4j的jar显示红线,与其他文件冲突了,于是我换了个版本的log4j后,该问题解决.但是又出现Address already in use.地址已经在使用 于是我用任务管理器结束了java占用端口进程后成功运行.


2,学习了json.并成功用json-taglib完成json接口.在导入json-taglib的jar包时出现无法处理jar包的问题.查完百度后发现导入json-taglib的jar包还需要规定jdk的版本号.改完后问题解决.

 

JSON: JavaScript Object Notation(JavaScript 对象表示法)

JSON 是存储和交换文本信息的语法。类似 XML。

JSON 比 XML 更小、更快,更易解析。

JSON 实例

{"sites": [{ "name":"菜鸟教程" , "url":"www.runoob.com" }, { "name":"google" , "url":"www.google.com" }, { "name":"微博" , "url":"www.weibo.com" }]}

这个 sites 对象是包含 3 个站点记录(对象)的数组。


什么是 JSON ?

  • JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
  • JSON 是轻量级的文本数据交换格式
  • JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。
  • JSON 具有自我描述性,更易理解


明日计划:

1,自己复习任务二,理清全部流程.

2,自己重写大部分代码.

3,总结任务二并提交.

 

收获:学习了jetty 及json-taglib.


返回列表 返回列表
评论

    分享到