java web的基础了解

java web的基础了解

架构

B/S

Browser-Server架构(浏览器——服务器架构)
直接由浏览器和服务器构成。
程序都是在服务器上运行,当用户群体比较大时,服务器端工作压力很大。用户通过在浏览器上登录某个网址,提交请求的信息。浏览器即向服务器提交了请求,服务器接收到请求,并根据请求的信息,进行相应的操作,比如:访问数据库、运行脚本程序等等,然后给浏览器回复一个响应,以此达到交互的功能。

C/S

Client-Server架构(客户端——服务器架构)
由客户端和服务器端构成。
用户必须要先下载并安装好客户端APP,通过APP才能访问到服务器,这是B/S与C/S的主要的区别。部分程序可在客户端运行,减缓可服务器的工作压力。

注意

B/S和C/S各有优势,两者是互补的关系,没有谁优于谁,谁替代谁的说法。

JDK的配置

下载并安装JDK
配置java_home ,classPass , path等变量

Tomcat的安装配置

  1. 先下载并配置好jdk。

  2. 登录apache官网下载tomcat,版本不要下最新,不然与其他软件不兼容。直接选择第一个zip下载就行,也可以根据系统的类型和位数选择相应的zip.
    在这里插入图片描述

  3. 直接解压就可以用了。

  4. 完成后,在环境变量中的,用户变量和系统变量都要新增一个变量。变量名:CATALINE_HOME,值为:tomcat的安装路径,路径到bin的上一级即可,如下图:
    在这里插入图片描述

  5. 验证是否配置成功
    windows系统的用户,打开bin文件中的startup.bat,Linux系统的用户,打开bin文件中的startup.sh,若文件正常执行,没有出现闪退或打不开的情况,即成功了。关闭命令行,不要直接叉掉窗口,双击shutdowm.bat / shutdowm.sh即可。

  6. 端口冲突问题:tomcat的默认端口为8080,容易与其他端口冲突,最好改一下。
    修改端口号
    打开conf文件夹中的server.xml文件,以文本的形式打开,大概在中间位置找到下图的信息,直接改掉port,保存

    在这里插入图片描述

  7. 验证是否更改成功
    在浏览器中输入localhost:8888(8888为相应的端口号),回车可访问tomcat,即为成功了。如果是IE浏览器,改为http://localhost:8888。

解压后的tomcat文件类型

bin: 存放可执行文件,如bat文件
conf: 配置信息文件。
lib: 存放jar文件。
temp:临时文件。
logs:日志文件,记录程序的执行。
webapps: 可执行的项目文件。
work: 存放JSP翻译成的Java,以及编译后的class文件。

web.xml的作用

  1. 指定默认的首页,如
<welcome-file-list>		//如果第一个找不到,就会自动找下一个
	<welcome-file>index.html</welcome-file>
	<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
  1. servlet的映射关系
<servlet>
    <description>This is the description of my J2EE component</description>
    <display-name>This is the display name of my J2EE component</display-name>
    <servlet-name>accept</servlet-name>
    <servlet-class>Server.accept</servlet-class>
  </servlet>
<servlet-mapping>
    <servlet-name>accept</servlet-name>
    <url-pattern>/servlet/accept</url-pattern>
  </servlet-mapping>

文件存放如下:
在这里插入图片描述

常见状态码

200:正常
300/301:重定向(跳转)
403:权限不足
404:资源找不到
502:服务器内部错误(代码错误)

直接在webapps中建一个项目

  1. 直接在webapps中新建一个文件夹,如"JSP Project", 在该文件夹下,新建一个"Web-INF"文件夹,在该文件夹下,新建"classes" 和"lib"文件夹,和一个"web.xml"文件,“web.xml"文件是该项目的配置文件,内容可直接复制webapps\ROOT\WEB-INF中的"web.xml”。classes文件夹存放java文件编译后的字节码文件,lib文件夹存放各种Jar包文件。

  2. 在"JSP Project"文件夹中,新建一个index.html文件,内容自定义,如下图:
    在这里插入图片描述

  3. 在浏览器中输入http://localhost:8899/JSP%20Project/或在后面还加上index.html。显示如下:
    在这里插入图片描述
    http://localhost:8899是连接到tomcat服务器;/JSP%20Project是连接到那个项目;index.html是首页;若在web.xml中将index.html设置为first-file了,输入网址时,可以不用加上index.html。

通过ip地址来访问自己的项目

  1. 打开C:\Windows\System32\drivers\etc的hosts文件,在# localhost name resolution is handled within DNS itself.下面加上
127.0.0.1	    localhost

如图:
在这里插入图片描述

  1. 在浏览器中输入127.0.0.1
    显示如下:
    在这里插入图片描述

为什么项目要放在webapps中

如果将"JSP Project"新建在webapps以外的文件夹中,再访问http://localhost:8899/JSP%20Project/,就会出现404的错误,这是为什么呢?
在这里插入图片描述

当我将JSP project项目移到webapps文件夹以外,刷新访问该网页。
在这里插入图片描述

因为本地服务器的默认的根文件夹就是webapps,打开conf文件夹中的server.xml,可以看到下图的内容:
在这里插入图片描述

这就说明,localhost只可打开webapps中的项目。
如果想将项目建在webapps以外的文件夹中,需要配置一个虚拟路径。

虚拟路径的配置方法

方法1:
在server.xml文件中,Host标签中,加上下面这行代码

<Context docBase=""  path=""  />	//严格区分大小写

docBase:表示项目所在的实际路径。
path:表示在在webapps中的虚拟路径,即在网页中输入的地址。(可以是绝对路径,也可以是相对路径,相对于webapps的路径)
当在网页中输入path的路径时,服务器会自动到docBase的目录下,寻找项目。配置如下:
在这里插入图片描述

刚配置完虚拟路径,我就直接访问了。还是会报404的错误。我关闭服务器,再打开,再访问就成功了。
在这里插入图片描述

方法2:
方法1配置完成虚拟路径后,必须要重启服务器,才可以访问得到,方法2则不需重启。

  1. 先将刚才在conf文件夹的server.xml文件中加上的代码删除。
  2. 打开conf\Catalina\localhost目录, 在该文件夹上新建一个"项目名.xml"文件,文件内容为刚才删除的代码,如:
    在这里插入图片描述

如果想将该项目作为默认项目,直接在前面的基础下,将"项目名.xml"文件重命名为ROOT.xml, 这样,访问该项目时,可以省略项目名了。如图:

在这里插入图片描述

在浏览器中输入http://localhost:8899/访问如下图:

在这里插入图片描述

虚拟主机

通常我们访问一个网站时,都是在浏览器上输入一个域名,主机就会去询问域名解析服务器,域名解析服务器返回一个ip地址。主机再去访问与该ip地址对应的主机或服务器。其实,主机去询问域名解析服务器前,会先在本地,也就是本主机的记录中查找域名与ip地址的映射关系,如果找到了,直接访问ip地址对应的主机或服务器了。
因此,我们在主机的记录中加上一个虚拟主机记录,就可以通过更改主机名让浏览器访问访问自己的项目了。
如:实现在浏览器中输入:baidu.com,访问自己的项目。

  1. 打开tomcat中的conf/server.xml文件,在Host标签前面,再加上一个Host
<Host name="baidu.com"  appBase="E:\software\Tomcat\JSP Project">
      <Context docBase="E:\software\Tomcat\JSP Project" path="" />
 </Host>

如下图:
在这里插入图片描述

Context中的内容就是虚拟路径,Context与webBase的内容可以相应更改。path也可以更改为

path="/"

因为/会被识别出来,省略了首页。
2. 在Host标签上面几行找到Engine(引擎)标签,更改默认主机。
将defaultHost的内容更改如下图:
在这里插入图片描述

  1. 配置Host与本地ip的关系
    打开C:\Windows\System32\drivers\etc的hosts文件,在# localhost name resolution is handled within DNS itself.下面加上
127.0.0.1	    baidu.com

如图:在这里插入图片描述

  1. 在浏览器中输入"baidu.com:8899" , 其中,8899 为tomcat的端口号,显示如下:
    在这里插入图片描述

当省略端口输入时,浏览器会跳到百度的官方网站。如果Host名并非正常使用的域名时,会出错。因为http协议中,网页的默认端口为80.
5. 如何省略端口输入,也可以正常跳转
将conf文件夹中的server.xml中的端口改为80,重启服务器,再输入baidu.com,显示如下:
在这里插入图片描述

注意

  1. 更改server.xml文件时,必须重启服务器(win系统运行shutdowm.bat,再运行startup.bat),才可以发挥作用。
  2. 测试某个更改效果时,记得要先清空浏览器的缓存,再进行测试。测试项目时,服务器保持再启动的状态。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值