B/S和C/S模式

本文详细介绍了B/S和C/S两种架构模式,包括它们的定义和工作原理。重点讲解了B/S模式,强调了其简化系统开发、维护和使用的特性。此外,文章深入探讨了服务器的角色,并特别关注了Web服务器,尤其是Tomcat的介绍,涵盖了Tomcat的下载、安装、文件夹结构、项目部署和发布等方面。最后,文章还提及了Servlet在Java Web中的重要性和使用方法。

1.1 C/S模式

Client/Server架构,即客户端/服务器架构。是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,需要安装客户端才可进行管理操作。

 

1.2 B/S模式

B/S结构(Browser/Server,浏览器/服务器模式)是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。

 

B/S结构程序的工作原理

从用户的操作开始,用户在浏览器页面提交表单操作,向服务器发送请求,服务器接收并处理请求,然后把用户请求的数据(网页文件、图片、声音等等)返回给浏览器,至此一次请求完成。

 

1.3 B/S和C/S区别

 

无论BS模式还是CS模式都需要使用到服务器。

​ 服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

​ 服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。在网络环境下,根据服务器提供的服务类型不同,分为文件服务器,数据库服务器,应用程序服务器,WEB服务器等。

服务器就是 提供服务的设备。是由硬件和软件两部分组成。

硬件服务器:构成包括处理器、硬盘、内存、系统总线等组成的电脑主机

软件服务器:web服务器 Tomcat

​ 数据库服务器 MySQL Oracle

​ 缓存服务器 Redis (NoSql)

​ 反向代理服务器 Nginx 负载均衡

​ 正向代理服务器 Node

​ 文件服务器 ftp服务器

3.web 服务器

3.1.IIS

​ IIS(Internet信息服务)英文InternetInformationServer的缩写。它是微软公司主推的服务器。IIS的特点具有:安全性,强大,灵活。

3.2.Tomcat

​ Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。

3.3.Zeus

​ Zeus是一个运行于Unix下的非常优秀的Web服务器,据说性能超过Apache,是效率最高的Web服务器之一。

3.4.Nginx

​ Nginx不仅是一个小巧且高效的HTTP服务器,也可以做一个高效的负载均衡反向代理,通过它接受用户的请求并分发到多个Mongrel进程可以极大提高Rails应用的并发能力。

3.5. Apache

​ Apache是世界使用排名第一的Web服务器软件。它几乎可以运行在所有的计算机平台上。由于Apache是开源免费的,因此有很多人参与到新功能的开发设计,不断对其进行完善。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。

3.6.Lighttpd

​ Lighttpd是由德国人JanKneschke领导开发的,基于BSD许可的开源WEB服务器软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的webserver环境。具有非常低的内存开销,CPU占用率低,效能好,以及丰富的模块等特点。支持FastCGI,CGI,Auth,输出压缩(outputcompress),URL重写,Alias等重要功能。

4.Tomcat 服务器

4.1 tomcat服务器简介

​ TomcatApache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

​ Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat 是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

​ 诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet 和 JSP 容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为10。

4.2 下载和安装

 **下载后解压**

**打开bin目录**

 **点击startup.bat 启动tomcat**

打开浏览器输入localhost:8080

4.3 Tomcat文件夹构成

 

 

4.4 Tomcat项目部署和发布

两种方式:

①:webapps方式

​ 将你的项目拷贝到webapps目录下 然后访问

tomcat默认端口号8080。

  ip地址:8080/html05/页

②:配置文件方式

conf--->server.xml 打开 添加以下代码 --》保存---》重启tomcat

 <Context docBase="项目在电脑中的路径" path="/haha 访问路径" reloadable="true"/>

配置好路径后:直接浏览器访问:

  
  ip地址:端口号/haha/资源文件

4.5 静态网页和动态网页

所谓的动态网页,是指跟静态网页相对的一种网页编程技术。

​ 静态网页,随着html代码的生成,页面的内容和显示效果就基本上不会发生变化了——除非你修改html页面代码。而动态网页则不然,页面代码虽然没有变,但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。值得强调的是,不要将动态网页和页面内容是否有动感混为一谈。这里说的动态网页,与网页上的各种动画、滚动字幕等视觉上的动态效果没有直接关系,动态网页也可以是纯文字内容的,也可以是包含各种动画的内容,这些只是网页具体内容的表现形式,无论网页是否具有动态效果,只要是采用了动态网站技术生成的网页都可以称为动态网页。总之,动态网页是基本的html语法规范与Java、VB、VC等高级程序设计语言、数据库编程等多种技术的融合,以期实现对网站内容和风格的高效、动态和交互式的管理。因此,从这个意义上来讲,凡是结合了HTML以外的高级程序设计语言和数据库技术进行的网页编程技术生成的网页都是动态网页。

静态网页没有数据库的数据传输 ,动态网页有数据的传输

4.6 tomcat 对 web项目的目录要求

普通java项目:src

web项目:

​ 我们写的servlet需要部署到tomcat中,但是你不能乱写(我们写好了之后 随便放到一个地方 tomcat肯定不识别),此时tomcat有一个目录要求。其实就是要求我们 需要创建几个文件夹 每个文件夹中放不同的资源内容。

5.使用idea开发工具创建web项目

 

 

 

 

 

 

 

6. 设置默认首页

 

7.Servlet

7.1 什么是servlet

JAVAWEB : 三大核心/组件(Servlet,Filter,Listener)

​ Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务 连接器,用Java编写的服务器端程序主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。

Servlet 就是小服务程序,可以做动态网页。在java中 对servlet有两种解读:

1.servlet接口

2.所有实现这个接口的类

7.2 自定义的servlet

  1. 先根据自己的Tomcat版本导入对应的Servlet -api.jar包

  2. 创建一个类,名字叫servlet ,继承Httpservlet类

  3. 重新service方法

  4. 在web.xml配置servlet的访问路劲

创建一个类,名字叫servlet ,继承Httpservlet类

 

 重启tomcat并访问servlet

8. servlet结合dao查询数据库

 

9. 使用servlet注解来创建servlet类

10. service方法处理请求/响应

​ 对于每一个HTTP请求,servlet容器会创建一个封装了HTTP请求的ServletRequest实例传递给servlet的service方法,ServletResponse则表示一个Servlet响应,其隐藏了将响应发给浏览器的复杂性。

通过ServletRequest的方法你可以获取一些请求相关的参数,而ServletResponse则可以将设置一些返回参数信息,并且设置返回内容。

5.1HttpServlet中的service方法:

5.2 常用方法

Request对象:接口封装了客户请求信息,如客户请求方式、参数、客户使用的协议、以及发出请求的远程主机信息等,其主要方法:

HttpServletResquest常用方法:

req.getParameter(String); //根据名字获取参数的值:表单中的参数,地址栏中的参数
req.getParameterValues(String);//根据名字获取一组参数的值(复选框)
req.getParameterMap()://获得一个Map<String, String[]>对象,所有的参数值都放在字符串数组中
req.getAttribute(String);//根据名字获取属性的值
req.setAttribute(String,Object);//根据属性设置值
req.getRequestDispatcher(String);//请求转发器
req.setCharacterEncoding("utf-8"); //设置请求的编码方式、

Response对象:接口封装了服务器响应信息,主要用来输出信息到客户端浏览器,其主要方法:

HttpServletResponse常用方法:

Response.setContentType("text/html;charset=utf-8");设置响应的内容类型
PrintWriter response.getWriter();//获得响应的输出流
response.sendRedirect(redirect);//重定向到指定的网址

6、请求转发和重定向 面试题

请求转发跟重定向的区别?

请求转发,服务器转发:

地址栏不会发生改变,在服务器端完成,效率高。

携带数据可以在Servlet之间进行传递

//请求转发,服务器转发
request.setAttribute("msg","欢迎你登陆成功");//request存储数据
request.getRequestDispatcher("/welcomeServlet").forward(request,response);

 

客户端重定向:

客户端重新发送新的请求,无法携带数据。地址栏会发生改变。

  //客户端重定向
  //服务器会向客户端浏览器发送一个响应:url, 客户端会重新请求该URL
  request.setAttribute("msg","欢迎你登陆成功");//request存储数据
  response.sendRedirect("/login.html");

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值