一、基础
1、基本概念
1.1前言
web开发:
web:网页的意思:www.baidu.com
静态web
html,css
提供给所有人看的数据始终不会发生变化
动态web
提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同!
淘宝,几乎所有的网站
技术栈:Servlet/JSP,ASP,PHP
在Java中,动态web资源开发的技术统称为JavaWeb
1.2、web应用程序
web应用程序:可以提供浏览器访问的程序
a.html、b.html……多个web资源,这些web资源可以被外界访问,对外界提供服务;
你们能访问到的任何一个页面或者资源,都存在这个世界的某一个角落的计算机上
URL
这个统一的外部资源会被放在同一个文件夹下,这就是一个web应用程序-》Tomcat:服务器
一个web应用由多个部分组成(静态web、动态web)
html、css、js
jsp、servlet
Java程序
jar包
配置文件(Properties)
web应用程序编写完毕后,若想提供给外界访问,需要一个服务器来统一管理;
1.3、静态web
(1)*.html,*.htm这些都是网页的后缀,如果服务器上一直存在这些东西,我们就可以直接进行读取
(2)静态web存在的缺点:
web页面无法动态更新,所有用户看到的都是同一个页面
轮播图,点击特效:伪动态[JavaScript(实际开发中,用的最多),VBScript]
它无法和数据库交互:数据无法持久化,用户无法交互
1.4、动态web
页面会动态展示:”web的页面展示的效果因人而异“;动态之前是通过JSP或者是Servlet渲染的
缺点:假如服务器的动态web资源出现了错误,我们需要重新编写我们的后台程序,重新发布
停机维护
优点:
web页面可以动态更新,所有用户看到的都不是同一个页面
它可以与数据库交互:(数据持久化:注册,商品信息、用户信息等)
二、Web服务器讲解
ASP:微软:国内最早流行的就是ASP;在HTML中嵌入了VB的脚本,ASP+COM;在ASP开发中,基本一个页面;维护成本高;C#;IIS
JSP:本质就是servlet,sun公司主推的B/C(浏览器/服务器)架构,基于java语言的(所有的大公司、或者一些开源的组件,都是用java写的);可以承载三高(高并发、高性能、高可用)问题带来的影响;语法像ASP,ASP转JSP,加强市场强度
PHP:开发速度快,功能很强大,跨平台,代码简单;无法承载大访问量的情况(局限性)
2.2、web服务器
服务器是一种被动的操作,用来处理用户的一些请求和给用户一些相应信息
IIS
微软的;ASP……,Windows中自带的
Tomcat
三、Tomcat详解
1、安装Tomcat:Apache Tomcat® - Welcome!
(2)解压
2、Tomcat启动和应用
2.1、文件夹作用:
2.2、启动、关闭Tomcat
启动:双击bin文件下的startup 文件
关闭:(1)方法一:双击bin目录下的shutdown文件;(2)方法二:叉掉打开的终端
访问测试:http://localhost:8080/ 启动了则可以访问,未启动则不能访问
可能遇到的问题:
(1)Java环境变量没有配置
(2)闪退问题:需要配置兼容性
(3)乱码问题:配置文件中设置
3、配置
eg:
(1)端口8080为8081,再重新启动tomcat,可以找到这个页面
运行:
补充:
可以配置启动端口号
tomcat的默认端口号为:8080
mysql:3306
http:80
https:443
(2)配置主机名称:
更改了host,再启动tomcat,则找不到这个页面了
访问不到的原因:
修改系统,重新启动tomcat,则可以进入
a、补充:
默认的主机名为:localhost-> 127.0.0.1
默认网站应用存放的位置为:webapps
b、问题:请你谈一谈网站是如何进行访问的:
客户端发起请求,www.baidu.com,不是直接拿到的这个域名;客户端会先去检查hosts配置文件下下有没有这个配置:如果有直接返回对应的ip地址,这个地址中有我们需要访问的web程序,则可以直接访问;如果没有的话,去DNS服务器(全世界的域名都在这里管理),找到的话就返回,找不到就返回找不到
4、发布一个网站
将自己写的网站,放到服务器(Tomcat)中指定的web应用的文件夹(webapps)下,就可以访问了
网站应有的结构
四、Http讲解
(1)HTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上
文本:html,字符串……
超文本:图片,音乐,视频,定位,地图……
端口:80
(2)https:安全的
2、两个时代
(1)http1.0
HTTP/1.0:客户端可以与web服务器连接后,只能获得一个web资源,断开连接
(2)http2.0
HTTP/1.1:客户端可以与web服务器连接后,可以获得多个web资源
3、http请求
requst header:
4、http响应
五、maven环境搭建
5.2maven的下载:
maven官网:Maven – Welcome to Apache Maven
下载之后解压得到一个文件夹:
5.3、maven的配置
百度搜索maven阿里云镜像:maven镜像-maven下载地址-maven安装教程-阿里巴巴开源镜像站 ,配置搜索到的内容到maven配置文件镜像的位置:
5.5、配置本地仓库
本地仓库:在本地的仓库
远程仓库
在配置文件里面配置仓库:
六、idea中maven的操作
1、启动IDEA
2、创建一个Maven Web项目:
组id一般就是公司域名倒着写
3、等待项目导入:点击finish之后:
出现这个则说明maven搭建成功:
4、 观察maven仓库中多了什么东西
5、idea中的maven设置
IDEA项目创建成功后,看一眼maven的配置
6、到这里,Maven在IDEA中的配置和使用就完成了
eg:创建一个普通的Maven模版
其余步骤和上面生成带模版的相同,生成一个干净的maven项目:
7、标记文件目录,是文件改变颜色为蓝色,而不是灰色
在这个干净的Java项目中,加一个java和resource目录
(2)项目结构目录
方法一:
方法二:
7.1、在IDEA中配置tomcat
解决上述警告问题新建一个artifaces:如下图,一步步操作即可
为什么会有这个问题:必须要的配置我们访问一个网站,需要指定一个文件夹名字
启动tomcat:
9、maven侧边栏的使用
10、pom文件
pom.xml是maven的核心配置文件
maven由于他的约定大于配置,我们之后可能会遇到我们写的配置文件,无法被导出或者生效的问题,解决方案:
七、一些idea的常用快捷键:
ctrl+shift+alt:多行操作
psvm:生成main()方法;
fori:生成for循环;
Ctrl+Alt+v:自动补齐返回值类型
ctrl+o:覆写方法
ctrl+i:实现接口中的方法
ctrl+shift+u:大小写转换
CTRL+SHIFT+Z:取消撤销
Alt+Insert:生成构造方法、getter、setter
ctrl+y:删除当前行
Ctrl+Shift+J:将选中的行合并成一行
ctrl+g:定位到某一行
Ctrl+Shitft+向下箭头:将光标所在的代码块向下整体移动
Ctrl+Shift+向上箭头:将光标所在的代码块向上整体移动
Alt+Shift+向下箭头:将行向下移动
Alt+Shift+向上箭头:将行向上移动
Ctrl+F:在当前文件中查找
Ctrl+R:替换字符串
Ctrl+Shift+F:在全局文件中查找字符串
Ctrl+Shift+R:在全局中替换字符串
Ctrl+Shift+Enter:自动补齐{}或者分号;
Shift+Enter:在当前行的下方开始新行
Ctrl+Alt+Enter:在当前行的上方插入新行
Ctrl+Delete:删除光标所在至单词结尾处的所有字符