栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JSP&Servlet学习笔记

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JSP&Servlet学习笔记

1.2 Servlet/JSP简介

在学习Java程序语言时,有个重要的概念:"JVM(Java Virtual Machine)是Java程序唯一认识的操作系统,其可执行文件为.class文件。"基于这一概念,在编写Java程序时,必须了解Java程序如何与JVM这个虚拟操作系统进行通信,JVM如何管理Java程序中的对象问题。

在学习Servlet/JSP时,也有个重要概念:"Web容器(Container)是Servlet/jSP"唯一认得的HTTP服务器。"如果希望用Servlet/JSP编写的Web应用程序可以正常运作,就必须知道Servlet/JSP如何与Web容器沟通,Web容器如何管理Servlet/JSP的各种对象问题 。

1.2.2 Servlet与JSP的关系

        本书从开始到现在一直在谈Servlet,这是因为Servlet与JSP是一体两面,JSP会被Web容器转译为Servlet的.java源文件、编译为.class文件,然后加载容器,因此最后提供服务的还是Servlet实例。这也是为什么始终在谈Servlete的原因,要想完全掌握JSP,也必须先对Servlet有相当程度的了解,才不会一知半解,遇到错误无法解决。

        也许有人会说,有必要掌握JSP吗?毕竟自Java EE 6中规范的JSP 2.2之后,JSP本身也没有显著的改进了,虽然Java EE 7规范中是JSP2.3,但中是做些规范维护,主要是因为Expression Language、JSF技术做了些调整,而在Java EE8之中,jSP规范仍维持在2.3.

        这一方面是由于有些商业性考虑,另一方面则是因为前端技术的兴起。就今天来说,若能与前端技术相磁开发者适当配合,JSP已经不是撰写的主要选择,不过,既有的应用程序,不少是基于JSP撰写的,若有JSP的基础,将来转换使用其他的页面模板技术就容易上手。

至于Servlet规范,仍持续在演变,特别是是Java EE 8 中,Servlet从3.1版本号跳到了4.0版本 ,用以突显其规范上有着重大不同;在Java的Web开发这块,一些重大Web框架,例如Spring MVC,仍是基于Servlet,如果能掌握Servlet,在使用这类框架时,对理解底层细节或者进行框架细节控制会有很大的帮助。

因而,无论是从掌握JSP的角度来看,或者是能灵活运用基于Servlet的Web框架来看,掌握Servlet都是必要的!

先来看看一个基本的Servlet长什么样子。

package cc.openhome;

import java.io.IOException;
import java.io.PrintWriter;

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("/Hello")   
	public class Hello extends HttpServlet { //1继承HttpServlet
	    @Override
	    protected void doGet(//2重新定义doGet()
	            HttpServletRequest request, HttpServletResponse response)
	                throws ServletException, IOException {
	        response.setContentType("text/html;charset=UTF-8");//3设定响应内容类型
	        
	        String name = request.getParameter("name");//4取得请求的参数
	        
	        PrintWriter out = response.getWriter();//5取得响应输出对象
	        out.print("");
	        out.print("");
	        out.print("");
	        out.print("Hello");
	        out.print("");
	        out.print("");
	        out.printf(" Hello! %s!", name);//6跟用户说Hello!
	        out.print("");
	        out.print("");
	    }
	}

许多初学JSp的人会遇到很多转译 、编译或执行的问题,而非 问题通常在于不了解JSP转译为Servlet之后,对应到哪个程序段,更有人完全不知道JSP与Servlet其实是一体两面的事实,因崦遇到问题就无法解决。了解JSP与Servlet的对应关系,必要时查看一下JSP转译为Servlet后的源代码,都是JSp网页执行遇到错误时解决问题的重要方法之一。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/941084.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号