随笔分类 -  J2EE

摘要:Jetty 是一个 Web server/servlet container, 支持 SPDY,WebSocket,OSGi,JMX,JNDI,JAAS 。Jetty非常高效而且灵活,Google App Engine 选择了Jetty,而放弃了Tomcat,或是其他的服务器。 Jetty的口号是:“不要把你的程序部署到Jetty里,而是把Jetty部署到你的程序里”,意味着,你可以把Jetty当成程序的一个HTTP模块放到你的程序里。 本文先通过一个简单的HelloWorld示例,展示了java应用中的Jetty是如何启动的;接着详细分析了Jetty的整体架构;最后展示了用Jetty启动一个标准的Java web app。 阅读全文
posted @ 2013-06-07 22:26 windlaughing 阅读(4709) 评论(3) 推荐(4) 编辑
摘要:当我们实现一个文件下载功能时,大多数人是通过Strust等框架实现的。Strust框架把底层的文件下载细节隐藏了起来,使我们不得其要领。下面我通过一个程序示例来再现通过Servlet下载文件的细节和原理。示例.....。文件下载的原理非常简单,就是把数据从一个输入流中读出数据,再写入一个输出流。这里的输入流是FileInputStream(为了提高速度,对其包装了一个装饰类BufferedInputStream,以提供缓冲功能),输出流是ServletOutputStream。 阅读全文
posted @ 2013-04-22 18:11 windlaughing 阅读(9208) 评论(3) 推荐(2) 编辑
摘要:Servlet工作原理一、Servlet生命周期分为三个阶段:1、初始化阶段,调用init()方法2、响应客户请求阶段,调用service()方法3、终止阶段,调用destroy()方法二、Servlet初始化阶段,在下列时刻Servlet容器装载Servlet:1、Servlet容器启动时自动装载某些Servlet,这些Servlet在web.xml文件中的内添加了如下代码:12、在Servlet容器启动后,客户首次向Servlet发送请求。3、Servlet类文件被更新后,重新装载Servlet。三、Servlet接收和响应客户请求的过程: 1、首先客户发送一个请求。 2、Servle.. 阅读全文
posted @ 2013-03-29 15:56 windlaughing 阅读(2157) 评论(0) 推荐(0) 编辑
摘要:通过实验来验证Servlet、Filter和Listener的调用顺序、生命周期。1、示例项目目录结构:web.xml edu.shao.webapp.sample.listener.MyServletRequestListener edu.shao.webapp.sample.listener.MyServletContextListener ResponseFilter edu.shao.webapp.sample.filter.ResponseFilter ... 阅读全文
posted @ 2013-03-29 11:50 windlaughing 阅读(3190) 评论(0) 推荐(0) 编辑
摘要:摘自javax.servlet.*类的javadocinterface javax.servlet.ServletDefines methods that all servlets must implement.A servlet is a small Java program that runs within a Web server. Servlets receive and respond to requests from Web clients, usually across HTTP(the HyperText Transfer Protocol)To implement this 阅读全文
posted @ 2013-03-27 09:43 windlaughing 阅读(320) 评论(0) 推荐(0) 编辑
摘要:如果初学 Java Web 开发,请远离各种开发框架,应该从Servlet 开发,学习java web应用最本质的内容。 Servlet 是 Java Web 技术的核心基础,掌握 Servlet 的工作原理是成为一名合格的 Java Web 技术开发人员的基本要求。 Servlet和Servlet容器的关系像子弹和抢的关系,彼此依存,但又独立发展,它们通过标准化接口相互协作。选择一个你喜爱的Servlet容器,或者说大一点就是应用服务器,推荐 Tomcat 、Resin 或者 Jetty 这些轻量级的产品。这三个产品下载 zip 包解压后就可以用了。不建议使用.exe格式的安装版... 阅读全文
posted @ 2013-03-27 09:37 windlaughing 阅读(692) 评论(0) 推荐(0) 编辑
摘要:中文乱码问题常常出现,本文借鉴前辈的经验,再作如下归纳汇总。第一类问题出现在JSP中:错误页面: 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <%@ page contentType="text/html;charset=iso8859-1"%> 3 <html> 4 <head> 5 <title>乱码啊</title> 6 <meta 阅读全文
posted @ 2012-03-24 16:56 windlaughing 阅读(1064) 评论(0) 推荐(0) 编辑
摘要:JSP端: 1 <head> 2 <script type="text/javascript" src="json.js"></script> 3 <script type="text/javascript"> 4 var http_request = false; 5 function send_request(url) 6 { 7 http_request = false; 8 if(window.XMLHttpRequest) { 9 http_request = new XMLH 阅读全文
posted @ 2012-03-24 16:40 windlaughing 阅读(1308) 评论(0) 推荐(0) 编辑
摘要:在Hibernate中的对象有三种状态,即:瞬时状态(Transient)、持久状态(Persistent)、脱管状态(Detached)1、瞬时状态(Transient)由new命令开辟内存空间的Java对象,也就是平时所熟悉的普通Java对象。如:Person p = new Person();瞬时对象特点:(1)不和Session实例关联(2)在数据库中没有和瞬时对象关联的记录2、持久状态(Persistent)持久的实例在数据库中有对应的记录,并拥有一个持久化标识(identifier).持久对象总是与Session和Transaction相关联,在一个Session中,对持久对象的改 阅读全文
posted @ 2012-03-24 16:30 windlaughing 阅读(1754) 评论(0) 推荐(0) 编辑
摘要:HTTPSession 是一个建立在cookies 和URL-rewriting上的高质量的界面。Session的信息保存在服务器端,Session的id保存在客户机的cookie中。…… 阅读全文
posted @ 2012-03-24 16:24 windlaughing 阅读(380) 评论(0) 推荐(0) 编辑