JavaWeb

Posted 顶瘾喔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaWeb相关的知识,希望对你有一定的参考价值。

JavaWeb

1、基本概念

1.1、前言

web开发:

  • web,网页的意思
  • 静态web
    • html,css
    • 提供给所有人看的数据始终不会发生变化
  • 动态web
    • 几乎所有的网站都是动态的
    • 提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同
    • 技术栈:Servlet/JSP,ASP,PHP

在Java中,动态web资源开发的技术统称为JavaWeb

1.2、web应用程序

web应用程序:可以提供浏览器访问的程序

  • index.html、login.html......多个web资源,这些web资源可以呗外界访问,对外界提供服务
  • 我们能访问到的任何一个页面或者资源,都存在于这个世界的某个角落的计算机上
  • URL
  • 这个统一的web资源会被放在同一个文件夹下,web应用程序-->Tomcat:服务器
  • 一个web应用由多部分组成(静态web、动态web)
    • html、css、js
    • jsp、Servlet
    • Java程序
    • jar包
    • 配置文件(Properties)

web应用程序编写完毕后,若想要提供给外界访问,需要一个服务器来统一管理

1.3、静态web

  • *.htm,*.html,这些都是网页的后缀,如果服务器上一直存在存在这些东西,我们就可以直接进行读取,通信

    flowchart LR c[客户端]--一次请求:Request-->s[web Service]--一次响应:Response-->c subgraph 服务器 s-->I(((index.html)))-->s end subgraph 客户端 c end
  • 静态web存在的缺点

    • web页面无法动态更新,所有用户看到都是同一个页面
      • 轮播图,点击特效:伪动态
      • JavaScript【实际开发中,它用的最多】
      • VBScript
    • 它无法和数据库交互(数据无法持久化,用户无法交互)

1.4、动态web

页面会动态展示:“web的页面展示的效果因人而异”

flowchart c[客户端]--一次请求:Request-->w[Web Server Plugin] ws[Web Server]--一次响应:Response-->c subgraph 服务器 w--动态资源-->动态web资源JSP/Servlet-->ws-->fs[File System] end subgraph 客户端 c end

缺点:

  • 假如服务器的动态web资源出现了错误,我们需要重新编写我们的后台程序,重新发布
    • 停机维护

优点:

  • Web页面可以动态更新,所有用户看都都不是同一个页面
  • 它可以与数据库交互(数据持久化:注册,商品信息,用户信息.....)
flowchart c[客户端]--一次请求:Request-->w[Web Server Plugin] ws[Web Server]--一次响应:Response-->c subgraph 服务器 w--动态资源-->source[动态web资源JSP/Servlet]-->ws-->fs[File System] end source--JDBC-->db[(数据库)] subgraph 客户端 c end

2、web服务器

2.1、技术讲解

ASP

  • 微软:国内最早流行的就是ASP
  • 在HTML中嵌入了VB脚本,ASP+COM
  • 在ASP开发中,基于一个页面都有几千行的业务代码,页面极其混乱
  • 维护成本高
  • C#
  • IIS

PHP

  • PHP开发速度很快,功能很强大,跨平台,代码很简单(国内70%)
  • 无法承载大量访问的情况(局限性)

JSP/Servlet

B/S:浏览器和服务器

C/S:客户端和服务器

  • sun公司主推的B/S架构
  • 基于Java语言(所有的大公司,或者一些开源组件,都是用Java写的)
  • 可以承载三高问题带来的影响(高并发、高可用、高性能)
  • 语法像ASP,ASP转JSP,加强市场强度

2.2、wen服务器

服务器是一种被动的操作,用来处理用户的一些请求和给用户一些响应信息

IIS

微软的,ASP...Windows中自带

Tomcat

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为比较流行的Web 应用服务器。

Tomcat 服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,它是最佳的选择

Tomcat 实际上运行JSP 页面和Servlet。

3、Tomcat

3.1、安装Tomcat

Tomcat官网

JavaWeb学习总结JavaWeb开发入门

静态网页和动态网页

静态网页:在服务器上没有经过服务器解释执行的网页。

动态网页:在服务器上经过服务器解释执行的网页。

无论是静态网页还是动态网页,客户端看到的网页都是由HTML所构成的,所以JavaWeb开发需要懂HTML

 

Servlet和Servlet容器

Servlet:是一些实现了特定接口的Java类的集合。

Servlet容器是JSP/Servlet代码运行的地方,是管理JSP/Servlet的地方。

其实Servlet容器就是一个服务器软件,比如Tomcat。

 

HTTP协议

浏览器请求服务器网页的过程,遵循HTTP协议,所以请求服务器的网页可以叫做发送HTTP请求给服务器,而服务器返回网页给浏览器可以叫做返回HTTP响应给浏览器。

HTTP协议就是在要发送的信息前面添加某些控制信息,形成HTTP请求或者HTTP响应,这样服务器才知道浏览器请求了什么信息,浏览器才知道服务器发送了什么信息。

具体添加哪些信息,请戳这

 

浏览器HTTP请求的过程

1.在浏览器地址栏输入网址

2.网址经DNS解析成ip地址,DNS将ip地址返回给浏览器。(如果浏览器的缓存中有该网址所对应的ip,那么就不会像DNS发送请求。

3.发送HTTP给ip地址所对应的服务器。

4.服务器中的服务器软件(如Tomcat)获得请求信息。

5.如果请求的静态网页,则直接返回给浏览器;如果请求的是动态网页,则在Servlet容器中执行后,生成网页结果,然后发送给浏览器。

6.浏览器收到HTTP响应。

 

 

安装Tomcat

1.Mac电脑上下载.zip后解压成文件夹,然后随便找一个地方放置该文件夹,我放在/Library目录下。

2.进入bin目录,执行sudo chmod 755 *.sh ,将bin目录所有有关服务器的脚本设置成可运行,常用的是startup.sh和shutdown.sh。

3.设置java的bin目录的环境变量,因为Tomcat作为Servlet容器,肯定要运行java命令来编译代码;设置Tomcat的bin目录的环境变量,这样在shell的任何地方都可以使用脚本命令,而不去切换到Tomcat的bin目录下才能使用命令。

4.在浏览器输入http://localhost:8080,如果能正常访问,说明安装成功。

 

Tomcat的目录结构

bin:存放tomcat的各种脚本文件,启动服务器startup.sh,关闭服务器shutdown.sh。
conf:存放tomcat的配置文件,如果服务器运行时修改了配置文件,那么必须重启服务器,才回重新读取配置文件。
logs:存放日志文件,当有bug发生时,就看看日志文件。
temp:存储tomcat运行时产生的临时文件。
webapps:web应用所在的目录,写好的应用放在这里才能访问。
work:tomcat的工作目录。

 

Web App目录结构

Servlet规范定义了web应用程序的目录层次。

WebRoot:Web应用的根目录,该文件夹下有WEB-INF目录,还有html页面和jsp页面。部署web应用时,就是将这个文件夹拷贝到Tomcat的webapps文件夹下。
WEB-INF:该目录下有web.xml,该文件是Web应用的配置文件,还有classes文件夹和lib文件夹。
classes:写好的java代码编译成class文件后,放到这个目录下。
lib:放置jar包
 
 

 

以上是关于JavaWeb的主要内容,如果未能解决你的问题,请参考以下文章

JavaWeb学习总结JavaWeb开发入门

javaweb这个功能怎么实现 ajax

JavaWeb学习笔记总结 目录篇

javaweb项目启动报错

javaweb怎么做一个目录树

JavaWeb学习—JavaWeb简介