首页 > 其他分享 >9.Web开发入门

9.Web开发入门

时间:2023-04-19 10:35:55浏览次数:30  
标签:Web http 入门 tomcat web xxx 域名 开发 软件

Web开发入门

课程目标

熟悉B/S与C/S体系之间区别
熟悉Tomcat服务器
熟悉整个Http请求DNS解析过程

一、Web开发入门

1.1 引入

之前的程序: java桌面程序,控制台控制,socket gui界面。javase规范
现在和以后的程序:java web程序。浏览器控制。javaee规范

1.2 软件的结构

C/S (Client - Server 客户端-服务器端)
典型应用:QQ软件 ,飞秋,红蜘蛛。
特点:
1 )必须下载特定的客户端程序。
2 )服务器端升级,客户端升级。

B/S (Broswer -Server 浏览器端- 服务器端)
典型应用: 腾讯官方(www.qq.com) 163 新闻网站, 蚂蚁课堂官网(俗称:网站)
特点:
1 )不需要安装特定的客户端(只需要安装浏览器即可!!)
2 )服务器端升级,浏览器不需要升级!!!!

javaweb的程序就是b/s软件结构!!!

1.1 服务器

从物理上来说,服务器就是一台PC机器。 8 核,8G以上,T来计算,带宽100M
web服务器:PC机器安装一个具有web服务的软件,称之为web服务器
数据库服务器:PC机器安装一个具有数据管理件服务的软件,称之为数据库服务器。
邮件服务器:PC机器安装一个具有发送邮件服务的软件,称之为邮件服务器。

1.2 web 服务软件

web服务软件的作用:把本地的资源共享给外部访问。

1.3 常见的市面上 web 服务软件

WebLogic: BEA公司的产品。 收费的。支持JavaEE规范。
WebSphere: IBM公司的产品。收费的。支持JavaEE规范
JBoss: Redhat公司的产品。收费的。支持JavaEE规范
Tomcat: 开源组织Apache的产品。免费的。支持部分的JavaEE规范。(servlet、jsp。jdbc,但ejb, rmi不支持)

二、Tomcat基本使用

2.1 下载并按照

1 )到apache官网。www.apache.org [http://jakarta.apache.org(产品的主页)](http://jakarta.apache.org(产品的主页))
2 )安装版:window (exe、msi) linux(rmp)
压缩版:window(rar,zip) linux(tar,tar.gz)学习时候使用
3 )运行和关闭tomcat
3.1 启动软件
a)找到%tomcat%/bin/startup.bat ,双击这个文件
b)弹出窗口,显示信息(不要关闭次窗口)
c)打开浏览器,输出以下地址[http://localhost:](http://localhost:)
d)看到一只猫画面,证明软件启动成功!

3.3 关闭软件

a)找到%tomcat%/bin/shutdown.bat,双击这个文件即可!
c)打开浏览器,输出以下地址。看到“无法连接”(最好先清空浏览器缓存)

2.2 tomcat 软件使用的常见问题

1 )闪退问题

原因:tomcat软件是java语言开发的。 tomcat软件启动时,会默认到系统的环境变量中查找一
个名称叫JAVA_HOME的变量。这个变量的作用找到tomcat启动所需的jvm。
解决办法; 到环境变量中设置JAVA_HOME的变量
JAVA_HOME= C:\Program Files\Java\jdk1.6.0_30 (注意别配置到bin目录下)

2 )端口占用的错误


原因: tomcat启动所需的端口被其他软件占用了!
解决办法:
a)关闭其他软件程序,释放所需端口
b)修改tomcat软件所需端口
找到并修改%tomcat%/conf/server.xml文件

<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

3 )CATALINA环境变量问题

原因: tomcat软件启动后,除了查找JAVA_HOME后,还会再查找一个叫CATALINA_HOME
变量,这个变量的作用是设置tomcat的根目录。
解决办法:建议不要设置CATALINA_HOME变量。检查如果有的话,清除掉!!!

2.3 体验 tomcat 软件作用

webapps目录: tomcat共享目录。需要共享的本地资源放到此目录中。

2.4 URL

URL全名叫统一资源定位符,用于定位互联网的资源。

问题: [http://localhost:8081/myweb/test.html](http://localhost:8081/myweb/test.html) 看到文件?

[http://](http://) 协议。http协议。
localhost 域名。为了找到IP地址。
本地域名: localhost
外部域名:www.baidu.com
8081 端口。软件监听的
8080 : tomcat默认的端口
3306 :mysql数据库的端口
1521 : orace数据库的端口。
/myweb: web应用的名称。默认情况下,在webapps目录下找
/test.html : 资源名称。

三、 Tomcat的目录结构

|-bin: 存放tomcat的命令。
catalina.bat 命令:
startup.bat -> catalina.bat start
shutdown.bat - > catalina.bat stop
|- conf: 存放tomcat的配置信息。其中server.xml文件是核心的配置文件。
|-lib:支持tomcat软件运行的jar包。其中还有技术支持包,如servlet,jsp
|-logs:运行过程的日志信息
|-temp: 临时目录
|-webapps: 共享资源目录。web应用目录。(注意不能以单独的文件进行共享)
|-work: tomcat的运行目录。jsp运行时产生的临时文件就存放在这里

DNS 解析域名过程

使用域名转换成IP地址,先读取本地HOST文件,本地文件没有从当前电信网管获取对应IP。

本地host文件 C:\Windows\System32\drivers\etc
画图演示。=

五、内网与外网

内网与外网的区别?

外网、内网是两种Internet的接入方式。
内网通俗的说就是局域网LAN网,外网通俗的说就是与因特网相通的WAN广域网或 MAN 城域网路。内网
和外网是相对而言的。一般外网的范围比内网大,也可以说内网是外网的子网。
外网(广域网)上的每一台电脑(或其他网络设备)都有一个或多个广域网IP地址(或者说公网、外网IP地
址),广域网IP地址不能重复;局域网(LAN)上的每一台电脑(或其他网络设备)都有一个或多个局域网IP地
址(或者说私网、内网IP地址),局域网IP地址是局域网内部分配的,不同局域网的IP地址可以重复,不会相互
影响。

外网映射工具

在做一些支付项目、微信开发、或对接第三方接口的时候,有些回调操作,可能会需要外网访问。

那么我们在做本地开发的时候,外网无法访问到本地?

怎么解决这个问题呢?

就会用到外网映射工具,常用外网映射工具ngrok(免费)、花生壳等。
Ngrok windows运行命令:
1,下载windows版本的客户端,解压到你喜欢的目录
2,在命令行下进入到path/to/windows_386/下
3,执行 ngrok -config=ngrok.cfg -subdomain xxx 80

//(xxx 是你自定义的域名前缀)
4,如果开启成功 你就可以使用 xxx.tunnel.qydev.com 来访问你本机的 127.0.0.1:80 的服务啦
5,如果你自己有顶级域名,想通过自己的域名来访问本机的项目,那么先将自己的顶级域名解析到123.57.165.240(域
名需要已备案哦),然后执行./ngrok -config=ngrok.cfg -hostname xxx.xxx.xxx 80 //(xxx.xxx.xxx是你自定义的顶级域名)
6 ,如果开启成功 你就可以使用你的顶级域名来访问你本机的 127.0.0.1:80 的服务啦
7,如果失败 就加下交流群 反馈下问题 本屌会看看什么原因....吧

标签:Web,http,入门,tomcat,web,xxx,域名,开发,软件
From: https://www.cnblogs.com/salixleaf/p/17141768.html

相关文章

  • 物联网的web设计,面临了哪些挑战?
    我们正在进入一个网页设计的新时代,物联网智能移动设备的普及将电子商务的网站设计提升到一个全新的高度。一、网页设计将变得更加复杂网站设计将变得更加复杂,因为现在设计师必须考虑设计前端接口,用户可以轻松地与诸如照相机,传感器,冰箱,洗衣机和其他智能设备之类的设备进行通信。需要......
  • C++恶意软件开发(四)通过查找进程名进行DLL注入
    通过进程名查找PID当我们编写注入器的时候,肯定是希望直接通过进程名进行注入,而不是像上一篇笔记一样通过手动输入PID进行查找。通过进程名查找PID的步骤如下:(1)创建系统中所有进程的快照(2)保存系统快照中遇到的第一个进程的信息(3)循环检索系统中进程的信息是否匹配需要查......
  • 在App开发中如何实现灰度发布?
    ​灰度发布是指将新版本应用程序推送给一部分用户进行测试和反馈的过程,而小程序容器技术则是将小程序运行在应用程序内部的技术,可以更快速、更安全、更好地发布和优化小程序。在本文中,我们将探讨在App开发中如何实现灰度发布,以及如何利用小程序容器技术进行更加快速、安全、优化......
  • 【C#新手入门一】winform实现QQ登录窗口
    闲来无事,打算写一系列winform入门相关的小软件,算是对自己技术的一个复习和备忘,也希望能帮助刚入门的萌新(可能也帮不到,因为没有注释)第一期先用winform最大限度的还原QQ的登录界面,下图左侧是仿真的,右侧是QQ的界面,很明显能看出来高仿的和正版的区别,哈哈! 这是效果展示接下来......
  • 几款主流的Python开发板对比
    几款主流的Python开发板对比下面正式进入我们的主题。随着Python语言的日渐普及和大众化,一些专门用于Python语言的微控制器的板子已经呈现到公众面前。在单片机上可以跑的Python又称MicroPython,MicroPython是Python3编程语言的一个简洁和快速实现,专门优化运行于一个微控制器上......
  • Elasticsearch搜索功能的实现(四)--使用ECK安装Elasticsearch开发环境
    一、ECK安装ES1、在k8s集群上安装ECK1.1安装自定义资源root@DESKTOP-H5OMIME:~#kubectlcreate-fhttps://download.elastic.co/downloads/eck/2.6.1/crds.yamlcustomresourcedefinition.apiextensions.k8s.io/agents.agent.k8s.elastic.cocreatedcustomresourcedefini......
  • MAUI Blazor 实战:开发界面跟随系统主题切换的App
    ​1、安装MasaBlazor参考:MASABlazorhttps://blazor.masastack.com/getting-started/installation2、编写代码新建Service目录,并添加ThemeService.cs该 RequestedTheme 属性返回 AppTheme 枚举成员。 AppTheme 枚举定义下列成员:Unspecified,指示设备使用的是未指......
  • JavaScript程序与设计入门到入土
    4.JavaScript代码的书写位置和css一样,我们的js也可以有多种方式书写在页面上让其生效js也有多种方式书写,分为行内式,内嵌式,外链式4-1行内式JS代码(不推荐)写在标签上的js代码需要依靠事件(行为)来触发<!--写在a标签的href属性上--><ahref="javascript:alert('我是......
  • AI绘画:Midjourney新手入门指引!
    软件工程师秒变设计师,普通人秒变画家艺术家,这一切正在成为可能!​编辑切换为居中添加图片注释,不超过140字(可选)经过了两天的摸索,终于通过Midjourney搞出来一张比较满意的作品! 特斯拉我已经有了,就差一个定制版钢铁战甲了!“Jarvis,youup?......
  • 【Database开发】国产数据库之涛思TDengine(命令测试)
    1、简介TDengine是一款开源、云原生的时序数据库,专为物联网、工业互联网、金融、IT运维监控等场景设计并优化。它能让大量设备、数据采集器每天产生的高达TB甚至PB级的数据得到高效实时的处理,对业务的运行状态进行实时的监测、预警,从大数据中挖掘出商业价值。TDengine......