搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
求精要诀:Java EE编程开发案例精讲
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787302404811
  • 作      者:
    袁梅宇,张智斌,何佳编著
  • 出 版 社 :
    清华大学出版社
  • 出版日期:
    2015
收藏
内容介绍

  Java EE是当前最流行的Web应用主流框架,在企业级应用开发中占主导地位。《求精要诀:JavaEE编程开发案例精讲》系统地介绍Java EE的体系结构、JSP与Servlet在体系结构中的地位、应用服务器和主流开发工具,主要内容包括Web应用框架、Servlet、JSP、会话状态、EL和JSTL、监听器、过滤器、数据库、MVC等。 本书讲解详细且通俗易懂,以具体案例应用编程辅助,便于读者理解和自主应用。 本书适合作为Java EE应用开发人员的技术参考书,并提供网络QQ群学习辅导,读者可以自主学习,本书也适合作为Web应用开发技术培训的参考书。

展开
精彩书摘

  第2章  Servlet编程

  Servlet是Java EE编程的基础,JSP建立在Servlet基础之上,诸如JSF、Struts、WebWork和Spring MVC等Web框架的基础都是Servlet。

  本章主要介绍Servlet的工作原理、Servlet编程、Servlet生命周期以及Servlet部署,并提供大量实例,来说明如何进行Servlet编程。这些技能是Java EE Web开发的基石,需要花时间来领会。

   

  2.1  Servlet概述

  Servlet扩展了Web服务器,是一种非常安全的、可移植的、易于使用的Web组件。

  Servlet也是一种动态加载的模块,针对向Web服务器的资源请求提供服务。Servlet完全运行在服务器端的Java虚拟机上,一般将后者称为Servlet容器。

  2.1.1  Servlet的基本概念

  (1) Servlet对服务器的扩展

  在第1章的firstjsp项目中,浏览器获取到的页面是一种动态页面。该动态页面在HTTP请求之前并不存在,而是根据某种预先设定的逻辑来动态生成显示页面。

  动态页面往往是相对于静态页面而言的,动态页面不是指含有动画的页面,而是指通过执行Servlet、JSP、.NET等程序,即时生成客户端网页代码的网页。可以想象一下,如果只使用静态页面,而不执行任何服务器端的脚本或辅助程序,想实时获取服务器的当前时间,是绝无可能办到的。

  动态页面具有如下几个特点:

  ? 动态页面实际上并不是存储在服务器上的独立网页文件。只有当用户发出请求时,服务器才动态组装并返回一个完整的网页。

  ? 动态页面的内容往往存放在数据库中,根据用户发出的不同请求而提供个性化的网页内容。

  ? 由于动态页面只是一个显示模板,其显示内容存放在数据库中,没有存在页面上,因此能大大降低网站维护的工作量。

  Web服务器的许多工作都需要与Web组件一起协同,才能得以完成。除了上述生成动态页面的功能外,Web服务器的重要工作还包括保存数据。当用户填写表单并点击提交按钮后,服务器获取用户提交的表单信息,然后对表单信息进行处理,最后往往需要将数据保存到文件或数据库中。由于生成页面和保存数据的多样性,无法制作一个统一的“标准程序”来完成上述工作,因此,单靠服务器本身,无法完成这些复杂多变的工作,需要对Web组件进行定制。

  Servlet编程,就是对这种最常用的Web组件进行定制,从而扩展服务器的功能。

  (2) 揭开Servlet的神秘面纱

  没有什么方法能比实际构建一个Servlet可以更直观地了解什么是Servlet的了。对于Servlet的新手,也许已经迫不及待地希望实际动手建立并运行一个Servlet项目。

  首先启动Eclipse,通过从菜单栏中选择File → New → Dynamic Web Project命令,打开新建动态Web项目的对话框,输入“firstservlet”作为项目名称,保持其他选项不变,然后单击Finish按钮结束。

  从菜单栏中选择File → New → Servlet命令,打开新建Servlet的对话框,输入“com.jeelearning.servlet”作为包名,输入“FirstServlet”作为Servlet名称,单击Finish按钮结束,如图2.1所示。

   

  图2.1  新建Servlet的对话框

  新创建的Servlet结构如代码清单2.1所示。

  FirstServlet类继承HttpServlet类,后者是一个抽象类,用于创建具体的Servlet子类。由于HttpServlet类实现了java.io.Serializable接口,因此需要提供long型的serialVersionUID。FirstServlet()方法是默认的构造函数。doGet()方法和doPost()方法是Servlet中的两个最重要的方法,分别处理HTTP GET请求和POST请求。@WebServlet是Servlet 3.0才开始引入的标注(Annotation),如果使用该标注,就不再需要在部署描述文件web.xml中配置Servlet了,这简化了Servlet的编程工作。也就是说,如果使用Servlet 2.5及以前的版本,只能在web.xml文件中配置Servlet。这里的@WebServlet标注里的字符串参数告诉容器,如果请求的URL是“/FirstServlet”,则由FirstServlet类的实例提供服务。

   2.1  FirstServlet.java

  package com.jeelearning.servlet;

  import javax.servlet.ServletException;

  import javax.servlet.annotation.WebServlet;

  import javax.servlet.http.HttpServlet;

  import javax.servlet.http.HttpServletRequest;

  import javax.servlet.http.HttpServletResponse;

  @WebServlet("/FirstServlet")

  public class FirstServlet extends HttpServlet {

   private static final long serialVersionUID = 1L;

         

        public FirstServlet() {

            super();

        }

   protected void doGet(HttpServletRequest request, HttpServletResponse response) 

          throws ServletException, IOException {

   }

   protected void doPost(HttpServletRequest request, HttpServletResponse response) 

          throws ServletException, IOException {

   }

  }

  ……

展开
目录

第1章  Java EE的体系结构 1

1.1  Java EE概述 2

1.1.1  Java EE版本简介 2

1.1.2  Java EE规范简介 2

1.1.3  有问必答 4

1.2  JSP与Servlet 5

1.2.1  JSP 5

1.2.2  Servlet 5

1.2.3  有问必答 6

1.3  HTML与HTTP 6

1.3.1  HTML简介 6

1.3.2  HTTP协议 7

1.3.3  HTTP请求和响应 8

1.3.4  实践出真知 11

1.3.5  有问必答 13

1.4  搭建开发环境 13

1.4.1  JDK的安装 13

1.4.2  Web服务器的安装 15

1.4.3  数据库的安装 16

1.4.4  IDE的安装 17

1.4.5  实践出真知 19

1.4.6  有问必答 22

第2章  Servlet编程 25

2.1  Servlet概述 26

2.1.1  Servlet的基本概念 26

2.1.2  Servlet剖析 28

2.1.3  容器的功能 29

2.1.4  Servlet API 30

2.1.5  Servlet旧版本格式 31

2.1.6  有问必答 33

2.2  Servlet编程 34

2.2.1  请求和响应API 34

2.2.2  使用GET或POST请求 35

2.2.3  使用参数 37

2.2.4  请求头和响应头 38

2.2.5  文件的上传和下载 41

2.2.6  转发和重定向 43

2.2.7  实践出真知 44

2.2.8  有问必答 58

2.3  Servlet的生命周期 59

2.3.1  Servlet生命周期的几个阶段 59

2.3.2  Servlet初始化和线程 60

2.3.3  理解Servlet生命周期

对编程的意义 60

2.3.4  实践出真知 61

2.3.5  有问必答 64

第3章  属性和监听器 65

3.1  属性 66

3.1.1  属性概述 66

3.1.2  属性范围 68

3.1.3  属性的线程安全 68

3.1.4  实践出真知 71

3.1.5  有问必答 77

3.2  监听器 78

3.2.1  监听器概述 78

3.2.2  监听器编程 79

3.2.3  实践出真知 83

3.2.4  有问必答 94

第4章  会话 95

4.1  会话介绍 96

4.1.1  会话的用途 96

4.1.2  会话的工作原理 96

4.1.3  有问必答 97

4.2  Cookies 98

4.2.1  什么是Cookies 98

4.2.2  Cookies的工作原理 98

4.2.3  Cookies API 99

4.2.4  Cookies的缺点 101

4.2.5  实践出真知 101

4.2.6  有问必答 106

4.3  HttpSession 107

4.3.1  HttpSession的基本概念 107

4.3.2  会话生命周期 110

4.3.3  实践出真知 112

4.3.4  有问必答 118

4.4  URL重写 119

4.4.1  URL重写的工作原理 119

4.4.2  实践出真知 121

4.4.3  有问必答 127

第5章  JSP编程 129

第6章  编写不带Java脚本元素的

页面 171

第7章  JSTL标准标签库 213

第8章  自定义标签 249

第9章  Web应用的开发与部署 273

第10章  Web应用安全 293

第11章  过滤器编程 315

第12章  Ajax 337

第13章  数据库 361

附录  源代码使用说明 425

参考文献 427

展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证