• 01 Servlet & Jsp 技术概述


    Servlet 介绍

    servlet 是运行在web服务器或应用服务器上的java程序, 它是一个中间层, 负责连接来自web浏览器或其他http客户端的请求和HTTP服务器上的数据库或应用程序.

    为什么要构建动态网页?

    • 网页基于客户发送的数据, 例如搜索引擎, 在线商店, 要根据客户的选择来生成不一样的页面
    • 网页由频繁改变的数据导出, 如果网页是根据每个具体操作而生成的不同网页, 我们当然需要动态网页
    • 网页中使用了来自公司数据库或其他服务端数据源信息, 这个当然, 如果使用静态网页无法满足从数据库获得不同的数据.

    最开始的动态网页生成, 利用servlet 是通过大量的 out.println 来实现的, 例如下边代码: (servlet 代码)

    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    
    public class HelloServlet extends HttpServlet {
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    		throws ServletException, IOException {
    				response.setContentType("text/html");
    				PrintWriter out = response.getWriter();
    				String docType = "<!doctype html public " -//w3c//DTD html 4.0 " 
    				+ "Transitional //EN ">"
    ";
    				out.println(doctype + 
    							"<html>
    " +
    							"<head><title>hello</title></head>
    " +
    							"<body bgcolor = "#FDF5F6">"
    " +
    							"<h1>hello</h1>
    " +
    							"</body></html>");
    								
    		}
    }

    从上边的 out.println 我们可以看出, 这样虽然可以创建动态网页, 但是十分麻烦.

    JSP介绍

    可以将 servlet 看做是含有HTML的java程序, 将jsp看做是含有java代码的html页面. 其实, 实际上二者是相同的, jsp 文档只不过是编写 servlet 的另一种方式, jsp 页面会被翻译成servlet, servlet 会被编译(java程序), 在请求期间运行的就是 servlet.

    下面是 jsp 代码

       1:  <!doctype html public "-//w3d//dtd html 4.0 transitional //en">
       2:  <html>
       3:      <head>
       4:          <title>Welcome to our store</title>
       5:      </head>
       6:      <body bgcolor="#FDF5E6">
       7:          <h1>Welcoem to our store</h1>
       8:          <small>Welcome,
       9:              <!-- User name is "New user" for first-time visitors -->
      10:              <%= coreservlets.Utils.getUserNameFromCookie(request) %>
      11:              To access your account settings, click
      12:              <a href="Account-Settings.html">Here.</a>
      13:          </small>
      14:          <p>
      15:          Reqular html for rest of online store's web page
      16:      </body>
      17:  </html>

    jsp 注重简化 html 的创建和维护. servlet 最适合于调用商业逻辑, 执行复杂操作. (jsp 偏向view, 而servlet偏向control)

  • 相关阅读:
    文件操作
    python中的函数递归和迭代问题
    函数的闭包与装饰器
    函数的名称空间和作用域
    python学习之路(四) ---函数
    python __name__问题
    浅谈python中的引用和拷贝问题
    Python中的缩进问题
    粘包现象
    socket编程
  • 原文地址:https://www.cnblogs.com/moveofgod/p/3655672.html
Copyright © 2020-2023  润新知