您的位置:首页 > Web前端 > JavaScript

【J2EE十三个规范】Web应用层之JSP和Servlet

2016-03-02 00:21 741 查看
【学习概要】
    本篇博客开始将会开始总结J2EE十三个规范的内容,在学习完十三个规范之后,宏观梳理了一遍,将其进行归类和联系,十三个规范是什么是必须要知道的。下面我们就从Web应用层开始。
【学习笔记】
    一.是什么

    1.什么是JSP?

   
JSP与ASP、PHP等语言相似,是运行在服务端的语言。

   
JSP,Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。
    2.什么是Servlet?

   
Servlet,Java Servlet,是用java编写的服务端程序。其功能在于交互式地浏览和修改数据,生成动态Web内容。

    二.有什么

   
1.一个JSP页面的组成部分:

    静态数据,如HTML,这点大家都不陌生。

    JSP指令,如include指令。JSP指令控制JSP编译器如何去生成Servlet。

    JSP脚本元素和变量,有三种基本的脚本元素,作用是使java代码可以直接插入Servlet。

    JSP动作,是一系列可以调用内建于网络服务器中的功能的XML标签。

    用户自定义标签
    2.Servlet的生命周期

    客户端请求该 Servlet;

    加载 Servlet 类到内存;

    实例化并调用init()方法初始化该 Servlet;

    service()(根据请求方法不同调用doGet() 或者 doPost(),此外还有doHead()、doPut()、doTrace()、doDelete()、doOptions());

    destroy()。    
    三.Eclipse JSP/Servlet环境搭建

    在上篇博客中,自己写到了各种软件安装和环境搭建遇到的问题。在拥有了Eclipse环境的前提下,下面就来创建两个简单的实例。

    1.Eclipse JSP实例

   
下面是一个JSP文件的代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>菜鸟教程</title></head><body><%out.println("Hello World!");
%>
</body></html>     
输出效果如下:



 
2.Eclipse Servlet实例
下面是一个Servlet文件代码:
package com.runoob.test;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class HelloServlet
*/
@WebServlet("/HelloServlet")
public class HelloServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public HelloServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setCharacterEncoding("GBK");
response.getWriter().write("Hello Servlet!");
//response.getWriter().append("Served at: ").append(request.getContextPath());
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
输出效果如下:



【学习比较】

    在上面的两个简单的实例中,我们可以看出JSP和Servlet都可以输出一样的效果,但两者又不一样。并且JSP也可以和我们.NET平台下的语言进行比较。所以,下面我们将各种语言进行简单比较。

    1.从三层思想看JSP与Servlet:

    三层我们都知道分别是数据层、业务层和表现层。Servlet用来写业务层是很强大的,但对于写表现层就很不方便。JSP则主要是为了方便写表现层而设计的,当然也可以写业务层。其实,JSP是基于java Servlet API形成的。

    2.JSP与ASP的比较:

    两者都是常用的动态网页技术,也都可以嵌入HTML中,但两者也有区别:

    Web服务器的支持:支持ASP的服务器只有微软和Personal Web Server,而大多数服务器都支持JSP。

    平台的支持:Windows平台可以很好地支持ASP,但很难移植到其它平台。JSP具有平台独立性。

    组件模型:ASP使用的是基于Win32的COM组件模型,JSP是建立在可重用的、跨平台的组件。

    脚本语言:ASP使用VBScript或Jscript作为脚本语言,而JSP可以使用java语言或Jscript。

【学习感悟】
    对于j2ee的十三规范学习,其实自己感觉是比较费劲的,毕竟是刚开始接触java编程环境,很多东西都是陌生的,从学习的内容上看,概念模糊,区分不清,所以,自己也是在结束视频的学习后,慢慢梳理,和之前的学习建立联系,多查资料,多了解,尽可能地将十三个规范弄得更明白些。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: