WEB03_Day03(上)-CS/BS网络结构、JavaSE和JavaEE区别、服务器端程序、Web服务器软件(Tomcat)
一、第三阶段整个目标
二、CS和BS网络架构
CS:Client Server 客户端 服务器--> 不能跨平台,开发成本较高,用户的体验较好。
BS:Browser Server 浏览器 服务器-->跨平台,后期维护升级便利。
三、JavaSE和JavaEE区别
JavaSE:JavaSE也称之为J2SE,即Java标准版,主要应用Java程序进行开发电脑桌面程序,也可以进行嵌入式设备的开发等,JavaSE也可以理解成是JavaEE的子集。
JavaEE:JavaEE也称之为J2EE,即Java企业版,主要应用在后台服务端的开发,使用JavaEE进行开发,帮助程序员在JavaSE的基础体系结构上增加了Web服务,通信API,以及组件模型、管理等功能。
四、服务端应用程序
服务器定义:
服务器就是一台高性能的电脑,这台电脑可以安装各种服务软件。
注意:本机本身就是一台服务器,以后会用到云服务器。
常见的服务器分类:
-
邮件服务器:安装了邮件服务的软件。
-
ftp服务器:安装了文件上传和下载服务的软件。
-
数据库服务器:安装了数据库服务的软件。
-
Web服务器:安装了Web服务的软件。
Web服务器主要指的是HTTP服务器。
服务器的作用:
负责客户端请求的文件信息返回给客户端,主要通过HTTP协议完成,HTTP协议底层是通过Socket建立的底层网络连接。
回顾第二阶段WebServer项目:
问:如果以后面试官问是否了解Web服务器原理?
答:手写过Web服务器。结合WebServer项目流程图进行讲解
Servlet:
主要作用是服务器端在处理HTTP协议的组件,是SUN公司所推出的。是由Server和applet两个单词组成的。
五、Web服务器软件
Servlet和Web服务器软件关系:
当一个软件程序运行以后,需要借助一个Web服务器软件,或者理解成需要借助一个Web容器,容器中封装了很多有关于请求和响应的相关逻辑,在书写软件过程中会借助于Servlet组件完成HTTP协议间的通信功能。
Tomcat服务器:
Tomcat服务器是Apanche公司利用Java语言开发的一款开源,免费的产品,通常程序员所书写的JavaEE项目,是可以在Apanche Tomcat上进行运行的。而该服务器软件是支持不同操作系统的,可以在Window、Linux、Mac OS系统上进行安装,本机电脑中安装了Apanche Tomcat以后,这台计算机就相当于是一台Web服务器。
下载方式:
-
达内开发文档服务平台:http://doc.canglaoshi.org/
Eclipese关联Tomcat:
1.在eclipse->window->preferences
2.关联以后左侧项目目录会多出一个Servers项目
注意:该项目是eclipse管理Tomcat所使用的相关配置,最好不要修改,当使用Tomcat服务器运行项目时,一定要确认该项目是否打开,如果没有打开,无法启动Tomcat服务器,那么也就意味着JavaEE项目是无法运行。
3.打开Servers视图(window->show view->Servers),并双击服务器设置相关内容
4.启动和关闭服务器
5.浏览器打开测试是否启动成功
六、第一个JavaEE项目
-
创建Maven项目,然后选择打包方式为war包
-
切换JavaEE视图
-
-
项目中添加Tomcat依赖
-
新建cn.tedu.servlet包,在该包下新建Servlet类,并且需要重写service方法
package cn.tedu.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Hello业务类
*/
public class HelloServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* 重写父类的service方法
*/
-
将项目添加到Tomcat容器以后启动服务器,然后打开浏览器输入请求路径访问http://localhost:8080/servlet01/HelloServlet
-
http://ip地址:端口号/项目名称/请求的业务路径
-
结果:浏览器白板,服务端控制台有字符串输出