Servlet and JSP

软件结构

单机时代 - 桌面应用

  • 单机应用,软件所有数据都保存在电脑本地硬盘中
  • 易于使用,结构简单
  • 缺点: 数据难以共享,安全性差,更新不及时

Client-Server模式

  • 数据保存在服务器上
  • 客户端通过与服务器进行通讯来获取数据
  • 优点:数据方便共享,安全性高
  • 缺点:必须安装客户端,升级与维护困难

Browser-Server模式

  • 编写网页,通过服务器动态生成网页
  • 优点:开发简单,无需安装客户端,数据以与共享
  • 缺点:执行速度与用户体验相对较弱

请求与响应

  • 从浏览器发出送给服务器的数据包成为:请求 Request
  • 从服务器返回给浏览器的结果成为: 响应 Response

J2EE是什么

  • J2EE是指Java 2 企业版
  • 开发Web应用程序就是J2EE最核心的功能
  • J2EE由13个功能模块组成

13个功能模块

重要

  1. Servlet - web服务器小程序
  2. JSP - 服务器页面
  3. JDBC - 数据库交互模块
  4. XML - XML交互模块

次要

  1. EJB - 企业级Java Bean
  2. RMI - 远程调用
  3. JNDI - 目录服务
  4. JMS - 消息服务
  5. JTA - 事务管理
  6. JavaMail - 发送接收Email
  7. JAF - 安全框架
  8. CORBA - CORBA集成
  9. JTS - CORBA事务监控

Apache Tomcat

  • Tomcat是Apache软件基金会旗下一款免费的开源Web应用服务器程序

J2EE与Tomcat的关系

  • J2EE是一组技术规范与指南,具体实现由软件厂商决定
  • Tomcat是J2EE Web(Servlet与JSP)标准的实现者
  • J2SE是J2EE运行的基石,运行Tomcat离不开J2SE

Servlet

  • Servlet(Server Applet)服务器小程序,主要功能用于生成动态Web内容
  • Servlet是J2EE最重要的组成部分,也是我们学习的重点

Install Tomcat on macOS

  • Install Tomcat on macOS
  • after successfully installation, you can use ./start.sh in Terminal to start Tomcat
  • you can go to localhost:8080 to check if Tomcat is running

Servlet开发步骤

  • 创建Servlet类,继承HttpServlet (类似于之后SpringMVC的Controller)
  • 重写service方法,编写程序代码
  • 配置web.xml,绑定URL

请求参数

  • 请求参数是指浏览器通过请求向Tomcat提交的数据
  • 请求参数通常是用户输入的数据,待Servlet进行处理
  • 用&符号连接

Get与Post请求方法

  • Get方式是将数据通过在URL附加数据显性向服务器发送数据
    • 常用于不包含敏感信息的查询功能
  • Post方式会将数据存放在Form中隐性向服务器发送数据
    • 常用于安全性较高的功能或者服务器的写操作
    • 用户登录
    • 用户注册
    • 更新公司账目

Servlet生命周期

  1. 装载 - web.xml
  2. 创建 - 构造函数
  3. 初始化 - init()
  4. 提供服务 - service()
  5. 销毁 - destroy()

使用注解简化配置

  • @WebServlet

启动时加载Servlet

  • web.xml 使用<load-on-startup>设置启动加载
  • 在工作中常用于系统的预处理