目录
Web服务器(了解gitee开源软件——各位大佬的代码可以参考学习)
二、url资源统一定位符(网络中传输获取数据需要遵守规则——网络协议)
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文件下的bin文件--》执行文件:服务器的启动和关闭
- conf文件--》web服务器配置文件:核心服务器的文件server.xml(我们会动它)、web.xml(对所有发布到此web服务器上的web项目的全局配置)...
- lib文件--》放jar文件的
- logs文件--》存储日志信息
- temp文件--》web启动的一些临时文件
- webapps文件--》自己的项目(war、jar、项目文件夹...)想要发布到web服务器上,就是发布到webapps文件里
- work文件--》放一些class源文件...
②(windowns系统下)bin文件下启动startup.bat关闭shutdown.bat;在linux系统下的启动文件startup.sh关闭shutdown.sh。
①修改前要正常关闭服务器: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下的配置文件就需要关掉重启服务器)。
将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文件下。
(要是不想复制粘贴/或者毕竟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里写想要欢迎的页面:如: