Learn Java Web (1) – Java Servlet

每一天我们都在见证历史 – 2018.2.25


最近打算花一点时间学习一下 Java Web 开发。顾名思义,学习 Java Web 开发的前提是你必须要会一点 Java 语言和 Web 开发的基础知识,如果你已经忘的差不多了可以去稍微补一下相关知识。

Java Web 开发系列应该会有很多篇,今天我们先从 Java Servlet 开始,首先我们先来了解一些概念。

Java EE: 现在 Java 平台一共有三个版本,Java EE(Java Platform, Enterprise Edition),Java SE(Java Platform, Standard Edition),Java ME(Java Platform, Micro Edition)。JAVA ME 已死,我们就不过多的去讨论了,我们主要聊聊 Java SE 和 Java EE。

我们打开 Java SE 的下载页面,Java SE 有 JRE, Server JRE,和 JDK 三个安装包。JRE 和 Server JRE 是用来提供 Java 运行环境,JDK 是用来搭建 Java 开发环境。我们再看一下 Java EE 的下载页面,Java EE 8 Platform SDK,Java EE 8 Web Profile SDK。仔细看一下页面介绍,就会发现是打包了 GlassFish 的两个不同版本,具体的区别我在 Stack Overflow 上面找了一张图。

Java EE 定义了一套企业级开发需要的接口,Java EE 8 Web Profile 是 Java EE 的子集,只包含 Java Web 开发需要用到的接口。相对应地,GlassFish 是 Java EE 定义的接口的具体实现,GlassFish Web Profile 是 Java EE 8 Web Profile 包含的所有接口的具体实现。我们常用的 Tomcat 和 Jetty 也分别是 Apache 和 Eclipse 对 Java EE 部分接口的具体实现。

Java Servlet: Java Servlet API 是 Java EE 定义的一套企业级开发需要的接口中一个非常重要的接口,更是 Java Web 开发必备的接口。今天我们使用 JDK + Tomcat + IntelliJ IDEA 实现一个 Hello World 页面,通过实际案例来了解一下什么是 Java Servlet。

1. 下载 & 安装 JDK, Tomcat, IntelliJ IDEA

使用的版本:

JDK 9.0.4

Tomcat 8.5.28

IntelliJ IDEA 2017.3

2. 代码来自 Tomcat Examples

src/HelloWorld.class

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorld extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException
    {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("");
        out.println("");
        out.println("");
        out.println("");
        out.println("");
        out.println("Hello World!");
        out.println("");
        out.println("");
    }
}

web/WEB-INF/web.xml

<?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/javaee"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
		  http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd"
           version="3.1">

    <servlet>
        <servlet-name>HelloWorld</servlet-name>
        <servlet-class>HelloWorld</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>HelloWorld</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>

</web-app>

3. IntelliJ IDEA 操作


参考:

https://www.oschina.net/question/12_52027

http://www.oracle.com/technetwork/java/javase/downloads/index.html

http://www.oracle.com/technetwork/java/javaee/downloads/index.html

https://stackoverflow.com/questions/24239978/java-ee-web-profile-vs-java-ee-full-platform

https://en.wikipedia.org/wiki/Java_servlet

https://www.jetbrains.com/help/idea/2017.1/enabling-web-application-support.html

 513 total views,  1 views today

Leave a Reply

Your email address will not be published. Required fields are marked *