图床路径
Kuang/JavaWeb
Java Web
web开发
在 Java 中,动态 web 资源开发的技术统称为 JavaWeb
什么是程序
Web 应用程序:可以提供浏览器访问的程序;(提供DOS命令访问的程序,CS架构。)
web应用程序编写完毕之后,若想提供给外界访问:需要一个服务器来统一管理,
站在旁观者角度,有一堆资源,放在了一台电脑上,电脑上安装了一个服务器(Tomcat),来统一管理,为了与来访者交互,服务器设置了一些应用程序,针对不同来访者,采取不同方式响应。来访者看似只是鼠标的点击行为,实质是通过URL来访问应用程序,变相的访问一堆文件夹路径。(和你访问自家电脑的文件类似),通过域名解析IP地址,找到真实的电脑,通过web应用程序,类似资源管理器,访问文件夹的路径,找到文件所在,访问文件,(html,css,js,jsp,图片,视频,等等)。
静态web的缺点:
web页面无法动态更新,所有用户看到的都是同一个页面
它无法和数据库交互(数据无法持久化,无法交互)
页面会动态展示:“web页面展示的效果因人而异“;
缺点:
优点:
新手村:–魔鬼训练(分析原理,看源码)–>PK场
ASP,
PHP
JSP/Servlet:
…
服务器是一种被动操作,用来处理用户的一些请求和给用户一些响应信息;
IIS
微软的,ASP…
Tomcat
面向百度编程:
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个Java初学Web者来说,它是最佳的选择。
诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为9.0.37**。**
Tomcat,IIS…
工作3-5年之后,可以尝试手写Tomcat服务器:三天足以
下载Tomcat:
目录结构:(反射和多线程所学)
jdk和jre的区别:一个.java,一个.class
Tomcat官网:http://tomcat.apache.org/
采用了Tomcat 9 的版本
文件夹目录
启动和关闭Tomcat
Tomcat界面
启动测试:http://localhost:8080/
启动测试:http://localhost:8080/
可能遇到的问题:
一个文件夹代表一个web应用
jsp就是在HTML里面嵌入一些java代码
乱码问题:
服务器核心配置文件
修改D:\Java\apache-tomcat-9.0.37\webapps\ROOT
下的index.jsp
,修改之后刷新即可,不需要重启服务器的呀
修改D:\Java\apache-tomcat-9.0.37\conf
下的server.xml
,更改了服务器的配置文件,必须重启服务器,否则无法生效。
修改D:\Java\apache-tomcat-9.0.37\conf
下的server.xml
,更改了服务器的配置文件,必须重启服务器,否则无法生效。
不要修改引擎里面的哦,修改
修改C:\Windows\System32\drivers\etc
下的hosts
文件,更改了服务器的配置文件,必须重启服务器,否则无法生效。
Windows底层文件被修改,提示权限不够,采用管理员模式启动。
hosts中英文翻译
微软公司版权所有
这是Microsoft TCP/IP用于Windows的一个样例主机文件。
这个文件包含IP地址到主机名的映射。每一项都应单独列在一行上。IP地址应该放在第一列,后面跟着相应的主机名。
IP地址和主机名之间至少要有一个空格。
#此外,注释(比如这样的注释)可以插入到单独的行中,或者插入到由’#'符号表示的机器名称之后。
本地主机名解析在DNS本身中处理。
3.2.4、修改应用存放目录
可以配置启动的端口号
可以配置主机名称
localhost-->127.0.0.1
webapps
文件夹
思:
四面:请你谈谈网站是如何进行访问的!
输入一个域名;回车
检查本机的C:\Windows\System32\drivers\etc\hosts
配置文件下有没有这个域名的映射
127.0.0.1 baba
4、可以配置一下环境变量(可选性)
不会就模仿
自学素材:
--webapps:Tomcat服务器的web目录
--ROOT
--qmei:网站的目录名
--WEB-INF
--classes :java程序
--lib:web应用所依赖的jar包
--web.xml:网站配置文件
--index.html 默认的首页
--static 静态资源文件
--css
--style.css
-js
--img
--...
http(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。
https:(s 安全的)
Request URL: https://www.baidu.com/ //请求地址
Request Method: GET //get方法,post方法
Status Code: 200 OK //状态码:200
Remote Address: 14.215.177.38:443 //远端服务器地址
Accept: text/html
Accept-Encoding: gzip, deflate, br //编码
Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7 //语言
Cache-Control: max-age=0 //缓存控制
Connection: keep-alive //保持连接
Accept: //告诉服务器它所支持的数据类型
Accept-Encoding: //支持哪种编码格式:GBK,UTF-8,GB2312,ISO8859-1
Accept-Language: //告诉服务器它的语言环境
Cache-Control: //缓存控制
Connection: //告诉服务器,请求完成是断开还是保持连接
HOST: //主机
...
Request URL: https://www.baidu.com/ //请求地址
Request Method: GET //get方法,post方法
Status Code: 200 OK //状态码:200
Remote Address: 14.215.177.38:443 //远端服务器地址
Cache-Control: private //缓存控制
Connection: keep-alive //保持连接
Content-Encoding: gzip //编码
Content-Type: text/html;charset=utf-8 //类型
Accept: //告诉服务器它所支持的数据类型
Accept-Encoding: //支持哪种编码格式:GBK,UTF-8,GB2312,ISO8859-1
Accept-Language: //告诉服务器它的语言环境
Cache-Control: //缓存控制
Connection: //告诉服务器,请求完成是断开还是保持连接
HOST: //主机
Refresh://告诉客户端多久刷新一次
Location://让网页重新定位;
...
200:请求响应成功 200
3xx:请求重定向
4xx:找不到资源 404
5xx:服务器代码错误 500 502:网关错误
二面:当你的浏览器中地址栏输入地址并回车的一瞬间到页面=能够展示回来,经历了什么?
500字左右作文
我为什么要学习这个技术?
1,在 JavaWeb 开发中,需要使用大量的 jar 包,我们手动去导入:
2,如何能够让一个东西自动帮我们导入和配置这个 jar 包。
由此,Maven 诞生了!
我们目前就是用来方便导入jar包的!
Maven的核心思想:约定大于配置
Maven会规定好你该如何去编写我们的java代码,必须要按照这个规范来:
官网:http://maven.apache.org/ 又是apache阿帕奇的
最新的并不一定是最好的
三部曲:
文件目录结构
配置如下:系统环境变量,不是用户变量
类似 JDK,检测是否安装成功,打开cmd,输入:
mvn -version
注意:mvn来源于bin目录下的mvn
放在D:\Java\apache-maven-3.6.3\conf\settings.xml的
标签中
nexus-aliyun
*,!jeecg,!jeecg-snapshots
Nexus aliyun
http://maven.aliyun.com/nexus/content/groups/public/
在本地的仓库,远程仓库
建立一个本地仓库,可以配多个的哦!
在D:\Java\apache-maven-3.6.3\conf\settings.xml
中找到如下信息:
Default: ${user.home}/.m2/repository
/path/to/local/repo
修改为:
D:\Java\apache-maven-3.6.3\maven-repository
同样的,在文件夹路径下需要新建文件夹:
IDEA项目创建成功之后,看一眼Maven的配置。
不再勾选【Create from archetype】
就只有GAV和项目存放地址的配置了,没有了MUL三大路径配置了,响应了上文的IEDA默认配置Maven的问题。
这个是只有在web应用中才会有的目录【webapp】,其中的【java】和【resources】是自己后来加上的,然后【Mark Directory as】的
目录结构
--项目名
--src
--main
--java
--resources
--webapp
--WEB-INF
--web.xml
--网页
--test
--java
点击配置按钮
选择Tomcat服务器
配置Tomcat服务器,纠正,不是web.xml,而是【server.xml】
必须要的配置:为什么有这个问题:我们访问一个网站,需要指定一个文件夹,访问指定的目录文件资源。
解决警告问题
虚拟路径映射
点击右上角的三角符号,等待Tomcat的启动,在【services】中看见了【Connected to server】表示连接成功!
在Tomcat的文件目录中多了一个文件夹,就是刚刚设置的访问路径
Maven的核心文件
pom.xml 干净文件
4.0.0
com.qm
javaweb-maven
1.0-SNAPSHOT
使用模板生成的文件
4.0.0
com.qm
javaweb-01-maven
1.0-SNAPSHOT
war
javaweb-01-maven Maven Webapp
http://www.example.com
UTF-8
1.7
1.7
junit
junit
4.11
javaweb-01-maven
maven-clean-plugin
3.1.0
maven-resources-plugin
3.0.2
maven-compiler-plugin
3.8.0
maven-surefire-plugin
2.22.1
maven-war-plugin
3.2.2
maven-install-plugin
2.5.2
maven-deploy-plugin
2.8.2
百度 Maven 仓库
官网:https://mvnrepository.com/
直接复制配置代码来使用
会自动下载jar包
Maven的高级之处在于,会自动导入jar包,而且会自动导入这个jar包所依赖的其他jar包
正常Maven,不用IDEA也可以新建成功
模板里嵌入了一些东西,我们无法修改,所以不推荐用java,即这个Maven,去创建一个web项目,我们都是手动创建一个web项目。
依赖的问题
修改字体风格
Maven由于它的约定大于配置,我们之后可能会遇到我们写的配置文件,无法被导出或者生效的问题,解决方案:
百度:Maven 资源导出问题 博客园
博客园质量高
在build中配置resources,来防止我们的资源导出失败的问题,因为在java和resources中被定死了,java只能写java文件,所以采用
来使其包含.properties和.xml文件,
false,不去过滤这些文件。
<build>
<resources>
<resource>
<directory>src/main/resourcesdirectory>
<excludes>
<exclude>**/*.propertiesexclude>
<exclude>**/*.xmlexclude>
excludes>
<filtering>falsefiltering>
resource>
<resource>
<directory>src/main/javadirectory>
<includes>
<include>**/*.propertiesinclude>
<include>**/*.xmlinclude>
includes>
<filtering>falsefiltering>
resource>
resources>
build>
原因:JDK的问题,JDK12建议换成JDK8,建议将 Maven3.6.2改为3.6.1的版本
Unable to import maven project See logs for details
IDEA日志文件:C:\Users\QMei\AppData\Local\JetBrains\IntelliJIdea2020.2\log\idea.log
Tomcat的bin目录下的【startup.bat】set设置了【catalina.bat】,而它引用了JAVA_HOME和JRE_HOME,
可以在【catalina.bat】最后写入【pause】暂停看错误提示。
IDEA存在项目配置和全局配置,
全局配置入口,关闭项目进入:
Maven默认web项目中的web.xml版本问题,IDEA采用了webapp2.3,可能出现问题
采用Tomcat中的webapps目录下的原始ROOT目录下的WEB-INF下的web.xml配置文件作为参考
webapp采用了4.0版本
接着新建两个文件夹目录
写一个Servlet,不会的话查看官方文档:
本地网址:http://localhost:8080/examples/(当然首先需要启动Tomcat哦!)
以前的Eclipse中学习javaweb没有采用Maven,需要手动导入上图的jar包,例如import jave.servlet.http.*;
现在有了Maven对jar进行自动导入和管理,在IDEA中只需要按快捷键**【Alt+Enter】**
自动导入不成功,需要添加依赖的代码:
在Maven仓库中查找HttpServlet依赖的包:
在Tomcat中查找Servlet依赖的包名
回到Maven仓库,搜索【servlet-api】
选择使用的版本
javax.servlet
javax.servlet-api
4.0.1
去掉其中的作用域,因为所以地方都可以用的话是最好的
provided