天天看点

Java web知识框架梳理(一)1.JSP:动态网页2.架构3.tomcat解压后目录:4.配置tomcat 5.访问tomcat 6.将web项目配置到 webapps以外的目录7.虚拟主机 7.JSP的执行流程

1.JSP:动态网页

静态、动态:

1.静态网页和动态网页 并不是看上去字面意思的是否有动感

2.静态网页和动态网页   的判断依据是 网页是否会随着 时间、地点、用户操作 的改变而改变

动态网页 需要使用到 服务端脚本语言(JSP)

jsp可以理解为在html中嵌套的java代码  

2.架构

常见的架构有CS 和BS,CS 即 Client Server

CS:Client Server 

BS:Browser Server

C/S架构是一种比较早的软件架构,主要应用于局域网内。在这之前经历了集中计算模式,随着计算机网络的进步与发展,尤其是可视化工具的应用,出现过两层C/S和三层C/S架构,不过一直很流行也比较经典的是我们所要研究的两层C/S架构。
Java web知识框架梳理(一)1.JSP:动态网页2.架构3.tomcat解压后目录:4.配置tomcat 5.访问tomcat 6.将web项目配置到 webapps以外的目录7.虚拟主机 7.JSP的执行流程

       C/S架构软件(即客户机/服务器模式)分为客户机和服务器两层:第一层是在客户机系统上结合了表示与业务逻辑,第二层是通过网络结合了数据库服务器。简单的说就是第一层是用户表示层,第二层是数据库层。

      客户端和服务器直接相连,这两个组成部分都承担着重要的角色,第一层的客户机并不是只有输入输出,运算等能力,它可以处理一些计算,数据存储等方面的业务逻辑事务;第二层的服务器主要承担事务逻辑的处理,本来事务很重,但是由于客户机可以分担一些逻辑事务,所以减轻了服务器的负担,使得网络流量增多。

   想要使用C/S架构的软件需要下载一个客户端,安装后就可以使用。

  经过长期的时间检验,人们也发现了C/S存在的不足,下面将前人的观点整理总结一下。

 1)客户端

a)只能处理一些功能单一的多系统。

b)C/S架构适用于局域网,对网速的要求比较高。

c)由于需要安装客户端,安装部署困难,所以不易扩展。

d)若客户端使用的系统不同,就要针对这些系统分别编写程序。

e)客户端界面缺乏通用性,且当业务更改时就需要更改界面,重新编写。

f)客户端需要专门的客户端程序,比较麻烦,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。

 2)服务器

a)用户数增多会出现通信拥堵,服务器响应速度慢等情况。

b)当服务器难当大任时,只能将其废弃,使用更强大的服务器。

c)当客户端用户增多时,服务器难以承担重负,是名副其实的“胖”客户端。

d)用户是通过ODBC连接到数据库的,且每个连接到数据库的用户都会保持一个ODBC连接,会一直占用中央服务器的资源,对服务器的要求很高。

3)用户

a)没有安装客户端的外部用户不能访问。

b)只有安装了客户端才能访问服务器,所以用户不能随时随地的访问。

c)用户是通过ODBC连接到数据库的,所以用户数受限,不易扩张。

d)由于针对小范围的客户,所以不能实现真正大范围的信息共享,信息传达和发布。

4)开发成本

a)需要聘用高素质的人员,对其培训,费用高。

b)初次开发就需要配备好客户端,服务器,需要有专业水准的技术人员,所以成本高。

5)后期成本

a)系统升级维护麻烦,需要更改大量程序,投入大量精力和金钱。

b)业务扩展或变更时,需要更改程序,客户端的界面也需要重新更改。

c)初次投入成本后不能一劳永逸,后期需要很多成本,比如服务器的更换,客户端的更变等。

   CS架构的典型代表有QQ 微信等。

   BS :Broswer Server

   客户端可以通过 浏览器  直接访问服务端 

   B/S是C/S架构的一种改进,可以说属于三层C/S架构。主要是利用了不断成熟的WWW浏览器技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。

Java web知识框架梳理(一)1.JSP:动态网页2.架构3.tomcat解压后目录:4.配置tomcat 5.访问tomcat 6.将web项目配置到 webapps以外的目录7.虚拟主机 7.JSP的执行流程

第一层是浏览器,即客户端,只有简单的输入输出功能,处理极少部分的事务逻辑。由于客户不需要安装客户端,只要有浏览器就能上网浏览,所以它面向的是大范围的用户,所以界面设计得比较简单,通用。

第二层是WEB服务器,扮演着信息传送的角色。当用户想要访问数据库时,就会首先向WEB服务器发送请求,WEB服务器统一请求后会向数据库服务器发送访问数据库的请求,这个请求是以SQL语句实现的。

第三层是数据库服务器,他扮演着重要的角色,因为它存放着大量的数据。当数据库服务器收到了WEB服务器的请求后,会对SQL语句进行处理,并将返回的结果发送给WEB服务器,接下来,WEB服务器将收到的数据结果转换为HTML文本形式发送给浏览器,也就是我们打开浏览器看到的界面。

   B/S架构和C/S架构不同,浏览器不是直接和数据库服务器相连,所以是多对多的结构。因此在此结构下,很适合在广域网里实现巨大的互联网,甚至是全球网。有着很强大的信息共享性。

  在B/S出现的早期,浏览器只能显示静态页面,得不到良好的交互,不能进行大量的逻辑处理,当时浏览器主要用来实现信息的发布,是一种单向的应用。后来出现了动态网页,这里的动态有三个方面,一是交互,二是动画,三是数据。这样,浏览器的交互性能得到极大提高。页面也越来越丰富多彩。浏览器也能处理部分逻辑事务,所以浏览器成为了客户端,但由于处理的内容较少,所以叫“瘦”客户端

注意:bs和cs各有优势。

3.tomcat解压后目录:

   bin:可执行文件(startup.bat    shutdown.bat)

   conf:配置文件(server.xml)

   lib:tomcat依赖的jar文件

   log:日志文件(记录出错等信息)

   temp:临时文件

   webapps:可执行的项目(将我们开发的项目 放入该目录)

   work:存放由jsp翻译成的java,以及编辑成的class文件(jsp  ->java ->class)

4.配置tomcat

  a.配置jdk  (必须配置JAVA_HOME)

    java_home  classPath  path

  b.配置catalina_home

  双击bin/startup.bat启动tomacat,

  常见错误: 可能与其他服务的端口号冲突

   tomcat端口号默认8080 (此端口号较为常见,容易冲突),如果有冲突可以修改此端口 

5.访问tomcat

     http://localhost:8080/

     常见状态码:

     200:一切正常

     300/301: 页面重定向 (跳转)

    404:资源不存在 

    403:权限不足 (如果访问a目录,但是a目录设置 不可见)

    500:服务器内部错误(代码有误)

6.将web项目配置到 webapps以外的目录

a.方式一

   在conf/server.xml中配置

   找到host标签,在host标签中添加:

<Context  docBase="D:\study\JspProject"  path="/JspProject"   />
           

  其中  docBase为

<Context  docBase="D:\study\JspProject"  path="/JspProject"   />
           

实际路径 

  path:虚拟路径  (绝对路径、相对路径【相对于webapps】)

  重启

 b.方式二

在D:\study\apache-tomcat-8.5.30\conf\Catalina\localhost   中   新建   “项目名.xml”

在项目名.xml中新增一行:

<Context  docBase="D:\study\JspProject"  path="/JspProject"   />
           

7.虚拟主机

   通过www.test.com访问本机

  首先在C:\Windows\System32\drivers\etc\host增加

   127.0.0.1       www.test.com

然后 在conf/server.xml中配置

  <Engine name="Catalina" defaultHost="www.test.com">
  
      <Host appBase="D:\study\JspProject" name="www.test.com">
            <Context docBase="D:\study\JspProject"   path="/"/>
      </Host>
           

    该处理流程为:

   www.test.com -> host找映射关系 ->server.xml找Engine的defaultHost ->通过"/"映射到D:\study\JspProject

7.JSP的执行流程

    jsp- java(Servlet文件) -class

    D:\study\apache-tomcat-8.5.30\work\Catalina\localhost\JspProject\org\apache\jsp

   Jsp 和Servlet 可以相互转换  (JSP编译过程 jsp- java(Servlet文件) -class)

   因为第一请求服务端 会有翻译 和编译的过程,因此比较慢。 后续访问 可以直接访问class,因此速度较快。但是 如果 服务端修改了代码,则再次访问时  会重新的翻译、编译。

  在web项目中修改了JSP代码,不需要restart tomcat 服务器。