Java Web整体梳理-2

JSP的简单演示

用servlet生成一个简单的网页:

package com.skyline;

import javax.servlet.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.time.LocalDateTime;

public class MyFirstServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request,
                         HttpServletResponse response)
            throws ServletException, IOException {

        response.getWriter().write("<html>");
        response.getWriter().write("<body>");
        response.getWriter().write("<h2>");
        response.getWriter().write(LocalDateTime.now().toString());
        response.getWriter().write("</h2>");
        response.getWriter().write("</body>");
        response.getWriter().write("</html>");
    }
}

该段代码使用了HttpServlet,这是一个较高级的封装类。可以看到,直接使用 Servlet 生成网页,不仅代码写起来困难,可维护性也不高。为了把 HTML 这些非逻辑的部分抽离出来,人们引入了 JSP 技术。

JSP,全称 JavaServer Pages。可以把 JSP 理解成一种高度抽象的 Servlet。事实上 JSP 在运行期间会被编译成 Servlet,因此 JSP 和 Servlet 可以认为没有本质上的差异,只不过写起来容易了很多。

现在流行的 Web 服务架构往往采用前后端分离的设计,JSP 这种使用后端模板的技术也逐渐被淘汰了。

前面提到的 Tomcat 不仅支持了 Servlet,也支持了 JSP 技术。下面使用 JSP 重写上面的程序。

<%@ page import="java.time.LocalDateTime" %>
<html>
<body>
<h2>
<%
out.write(LocalDateTime.now().toString());
%>
</h2>
</body>
</html>

Servlet的简单演示

package com.skyline;

import javax.servlet.*;
import java.io.IOException;
import java.io.PrintWriter;

public class MyFirstServlet implements Servlet {
    public void init(ServletConfig config) throws ServletException {
        System.out.println("Init");
    }

    public void service(ServletRequest request, ServletResponse response)
            throws ServletException, IOException {
        System.out.println("From service");
        PrintWriter out = response.getWriter();
        out.println("Hello, Java Web.");
    }

    public void destroy() {
        System.out.println("Destroy");
    }

    public String getServletInfo() {
        return null;
    }

    public ServletConfig getServletConfig() {
        return null;
    }
}

下面是web.xml的代码

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

    <servlet>
        <servlet-name>MyFirstServletName</servlet-name>
        <servlet-class>com.skyline.MyFirstServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>MyFirstServletName</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
</web-app>

可以看到 web.xml 的作用是告诉 Tomcat,我们想使用哪个 Servlet 来处理对应的请求。Tomcat 通过 web.xml 找到对应的 Servlet 完成请求以及响应过程
下面是运行截图,在浏览器地址栏中输入localhost:8080/项目名称/hello即可
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值