tomcat(web服务器)浅浅笔记

目录

Web服务器(了解gitee开源软件——各位大佬的代码可以参考学习)

一、 软件架构

二、url资源统一定位符(网络中传输获取数据需要遵守规则——网络协议)

三、Tomcat

四、修改端口号server.xml

五、修改虚拟主机配置

六、项目发布的三种方式

1. 自己部署项目连接tomcat服务器:

2. 使用eclipse建立web项目

3. IDEA建立web项目(结合tomcat服务器),打包成jar包

4. 利用context配置外部网络(修改配置后记得关闭重启外部服务器)

Web服务器(了解gitee开源软件——各位大佬的代码可以参考学习)

  • 软件架构

C/S:客户端/服务器(Client/Server): 桌面应用软件,下载安装后使用(项目升级必须重安装才可用最新功能;在局域网内部运作,不连通外网比较安全)

B/S:浏览器/服务器(Browser/Server):网站(链接外网Internet哪都可以访问项目,项目升级只需要访问项目url地址即可访问新功能点)

 

B/S架构中浏览器和服务器之间访问可以动态响应数据。(浏览器向web服务器发送请求,web服务器接收请求并处理后,返回一个响应数据给浏览器也就是客户端这边)

怎么访问到web服务器里面的项目内容----》url:资源统一定位符

二、url资源统一定位符(网络中传输获取数据需要遵守规则——网络协议)

url地址格式:

http://localhost:8080/工程目录/路径/资源名?a=1&b=2#abc

协议 域名==IP 端口 资源路径:项目名称/目标页面 参数 锚点

http://         --》协议(超文本传输协议)https://是加密的超文本传输协议

localhost或者IP --》域名

:8080           --》端口号  80端口为默认

端口后面        --》资源路径:工程目录/路径/资源名

资源路径后面?   --》连接参数(参数个数不限)

参数后面#       --》连接锚点

css、html、js   --》静态资源名

://  :  ? 都是固定的分割符

接下来选谁做我们的web服务器?介绍一下apache--它本身就是一个服务器:我们要用到它下面的一个顶级子项目三脚猫tomcat

三、Tomcat

①文件目录介绍

  1. tomcat文件下的bin文件--》执行文件:服务器的启动和关闭
  2. conf文件--》web服务器配置文件:核心服务器的文件server.xml(我们会动它)、web.xml(对所有发布到此web服务器上的web项目的全局配置)...
  3. lib文件--》放jar文件的
  4. logs文件--》存储日志信息
  5. temp文件--》web启动的一些临时文件
  6. webapps文件--》自己的项目(war、jar、项目文件夹...)想要发布到web服务器上,就是发布到webapps文件里
  7. work文件--》放一些class源文件...

②(windowns系统下)bin文件下启动startup.bat关闭shutdown.bat;在linux系统下的启动文件startup.sh关闭shutdown.sh。

四、修改端口号server.xml

①修改前要正常关闭服务器:shutdown.bat后:

在server.xml文件里找到

<!--修改端口号    -->

    <Connector port="8888" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443" />

②修改port:8888为其他端口号,建议修改为8000以后的,以前的一般被占用了。一般Web默认端口号为80,你也可以修改为80(这样以后写项目可以忽略掉端口号,url地址就不会显示端口号了)。

③修改完后需要重启tomcat服务器:startup.bat 以便加载到修改的内容。

修改端口号可能会出现端口被占用问题:address already in use:...

解决:1.关闭服务器2.就是再次修改server.xml文件中的端口号

注意:修改一次端口,只可以启动一次服务器,再次启动会报错提示端口被占用。

五、修改虚拟主机配置

①<!--配置虚拟主机,修改tomcat下的conf目录下的server.xml,localhost也可以换成别的-->

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">

<Host name="www.yc.com" appBase="webapps" unpackWARs="true" autoDeploy="true">

②此Host标签可以有多个,最后我们tomcat到底选哪个主机名呢?就靠它的上级标签:默认主机名defaultHost:你修改成谁,谁就是默认的选择。

 <Engine name="Catalina"  defaultHost="www.yc.com">

③还要进行映射:在c盘system32下drivers下etc目录下的hosts(没有后缀名)文件下,用notpad++记事本打开,在文本最末端加入127.0.0.1 对应虚拟域名。如: 127.0.0.1  www.yc.com

注意:127.0.0.1 是本机环回地址,自己发送自己接收,不用联网。

你加入此映射,它会自动解析你写的域名为你的环回ip地址。

④修改后的url访问地址要相应变成修改的主机名。访问前记得关闭tomcat(web)服务器再次重启(注意:只要修改了conf下的配置文件就需要关掉重启服务器)。

六、项目发布的三种方式

  1. 自己部署项目连接tomcat服务器:

将Hbuderx/其他开源软件里完整的项目文件夹复制粘贴到tomcat下的webapps文件夹下;

开启bin目录下的启动文件;

即可在浏览器地址栏输入url地址:http://localhost:8080/工程目录/html页面--目标资源;

结果显示要访问的页面。

    2.使用eclipse建立web项目,如图:

 

web目录下的web-inf的组成:

①发布到web的项目不会是java源代码,而是它生成的class的字节码文件,就进入classes里面找。

②lib就是上传的第三方jar包。

③web.xml是对当前web项目的配置。

Eclipse的web项目导出war包:

①右击项目,点击Export导出;

 

②点击搜索框:搜索war file;

 

③选择导出位置:

④将导出的war包复制粘贴到tomcat下的webapps文件目录下。

它会被自动解压,因为在server.xml里你配置了unpackWARs=”true”。

⑤完成操作后去浏览器进行访问:利用你之前配好的虚拟主机ip(域名)+端口+项目名+目标页面。如:

       3. IDEA建立web项目(结合tomcat服务器),打包成jar包

①建一个java ETP项目(选择java企业级开发)

---在新建项目上右击,引入web:

---src目录下:放源代码;web目录下:放静态页面(.js/.css/.html/.jsp--如图所指:)

 

②Idea导出war包的具体操作:点击此小包包后一二三四如图所示:

  

③后需要构建build Artifacts,选择要构建的项目build。

  

 

 

④构建成功后,项目会显示out文件,里面含有war包:

 

⑤之后拷贝放到tomcat文件下webapps文件下。

  1. 利用context配置外部网络(修改配置后记得关闭重启外部服务器)

(要是不想复制粘贴/或者毕竟web空间有限)

 <!--配置外部项目

Context :指上下文,一般来说是指web项目;

- docBase: 网页(想要展示的项目)存放的根目录,映射为path虚拟目录,可以是相对地址,也可以用绝对地址;

- path:外部访问的url入口,例如: https://localhost:8080/hello(可以自定义)

- reloadable: 作用是jsp修改之后不用重新启动就可以实现同步  -->

例子:<Context path="/shopping" docBase="D:/hbuilderProject/shopping" reloadable="true">

注意一个小问题:

当我们访问的地址含有index.html时只写了项目名后面没有具体目标资源页面,浏览器也会显示--》是因为Tomcat下conf里的web.xml文件里有如下(全局)配置:默认寻找此类页面,如果没有此类页面,你在url访问地址上又没有写清楚要访问的目标文件,浏览器报错404。

 

此web.xml全局配置里还制定了响应请求的所有类型(获取请求类型时可以参考)。

未来你也可以在自己的项目下的web.xml里写想要欢迎的页面:如:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值