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

简介: <span style="font-family:楷体; font-size:19px; line-height:27px; widows:auto"><strong>【学习概要】</strong></span> <div style="font-family:楷体; font-size:19px; line-height:27px; widows:auto"><span style="
【学习概要】
    本篇博客开始将会开始总结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编程环境,很多东西都是陌生的,从学习的内容上看,概念模糊,区分不清,所以,自己也是在结束视频的学习后,慢慢梳理,和之前的学习建立联系,多查资料,多了解,尽可能地将十三个规范弄得更明白些。

目录
相关文章
|
24天前
|
Java 应用服务中间件 Spring
【终极解决方案】Could not open ServletContext resource [/WEB-INF/dispatcher-servlet.xml]
【终极解决方案】Could not open ServletContext resource [/WEB-INF/dispatcher-servlet.xml]
20 0
|
3月前
|
存储 缓存 前端开发
Servlet与JSP在Java Web应用中的性能调优策略
Servlet与JSP在Java Web应用中的性能调优策略
31 1
|
3月前
|
C# 数据可视化 开发者
WPF开发者福音:深度解析OxyPlot与LiveCharts图表库,轻松实现数据可视化不再是难题!
【8月更文挑战第31天】在WPF应用中,数据可视化对提升用户体验至关重要。本文介绍并演示了两种流行图表库OxyPlot和LiveCharts的集成与使用方法。OxyPlot是一款适用于.NET应用的开源图表库,提供多种图表类型,易于集成。LiveCharts则以其丰富的图表类型和动画效果,特别适合实时数据展示。通过具体代码示例,本文展示了如何利用这两种图表库创建折线图和柱状图,并详细说明了安装和配置步骤。希望本文能帮助开发者在WPF应用中轻松实现高效、美观的数据可视化。
157 0
|
3月前
|
存储 Java 关系型数据库
基于Servlet和JSP的Java Web应用开发指南
基于Servlet和JSP的Java Web应用开发指南
37 0
|
3月前
|
监控 前端开发 Java
揭秘Web开发神器:Servlet、过滤器、拦截器、监听器如何联手打造无敌博客系统,让你的用户欲罢不能!
【8月更文挑战第24天】在Java Web开发中,Servlet、过滤器(Filter)、拦截器(Interceptor,特指Spring MVC中的)及监听器(Listener)协同工作,实现复杂应用逻辑。以博客系统为例,Servlet处理文章详情请求,过滤器(如LoginFilter)检查登录状态并重定向,Spring MVC拦截器(如LoggingInterceptor)提供细粒度控制(如日志记录),监听器(如SessionListener)监控会话生命周期事件。这些组件共同构建出高效、有序的Web应用程序。
36 0
|
21天前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
81 3
|
3天前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
68 44
|
1天前
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。
|
3天前
|
安全 数据库 开发者
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第26天】本文详细介绍了如何在Django框架下进行全栈开发,包括环境安装与配置、创建项目和应用、定义模型类、运行数据库迁移、创建视图和URL映射、编写模板以及启动开发服务器等步骤,并通过示例代码展示了具体实现过程。
20 2
WK
|
4天前
|
安全 Java 编译器
C++和Java哪个更适合开发web网站
在Web开发领域,C++和Java各具优势。C++以其高性能、低级控制和跨平台性著称,适用于需要高吞吐量和低延迟的场景,如实时交易系统和在线游戏服务器。Java则凭借其跨平台性、丰富的生态系统和强大的安全性,广泛应用于企业级Web开发,如企业管理系统和电子商务平台。选择时需根据项目需求和技术储备综合考虑。
WK
8 0