狂神说Java个⼈笔记-JavaWeb 3.Tomcat
3.1安装Tomcat
3.2Tomcat启动和配置
3.3配置
⾼难度⾯试题:
请你谈谈⽹站是如何进⾏访问的!
1.输⼊⼀个域名:回车
2.检查本机的C:\Windows\System32\drivers\etc\hosts配置⽂件下有没有这个域名映射;
1.有:直接返回对应的ip地址,这个地址中,有我们需要访问的web程序,可以直接访问
127.0.0.1
2.没有:去DNS服务器到的话就返回,不到就返回不到
3。可以配置⼀下环境变量
3.4发布⼀个web⽹站
不会就先模仿,将⾃⼰写的⽹站,放到服务器Tomcat中指定的web应⽤⽂件夹webapps下,就可以访问了⽹站应该有的结构
-- webapps: Tomcat服务器的web⽬录
-ROOT
-kuangstudy:⽹站的⽬录名
-Web-INF
-classes:java程序
-lib:web应⽤所依赖的jar包
-l:⽹站配置⽂件
-index.html 默认的⾸页
4.HTTP
4.1什么是HTTP
HTTP(超⽂本传输协议)是⼀个简单的请求-响应协议,它通常运⾏在TCP之上。
⽂本:html,字符串
超⽂本:图⽚,⾳乐,视频定位,地图。。。。
80
HTTPS:安全的
443
4.2两个时代
HTTP/1.0:客户端可以与web服务器连接后,只能获得⼀个web资源,断开连接
HTTP/1.1:客户端可以与web服务器连接后,可以获得多个web资源。
4.3HTTP请求
客户端----发请求----服务器
百度:
Request URL:www.baidu/ 请求地址
Request Method:GET get⽅法/post⽅法
Status Code:200 OK 状态码:200
Remote Address:182.61.200.7:443
1.请求⾏
请求⾏终的请求⽅式:GET
请求⽅式:Get,Post ,HEAD,DELETE,PUT,
get:请求能够携带的参数⽐较少,⼤⼩有限制,会在浏览器的URL地址栏显⽰数据内容,不安全,但⾼效
post:请求能够携带的参数没有限制,⼤⼩没有限制,不会在浏览器的URL地址栏显⽰数据内容,安全,但不⾼效。
2.消息头
Accept:告诉浏览器,它所⽀持的数据类型
Accept-Encoding: 告诉浏览器,它所⽀持的编码格式 GBK UTF-8 GB2312
Accept-Language:告诉浏览器,它的语⾔环境
cache-Control:缓冲控制
connection:告诉浏览器,请求完成是断开还是保持连接
Host:主机..../.
4.4HTTP响应
服务器---响应----客户端
百度:
Cache-Control:private 缓冲控制
Connection:keep-alive 连接
Content-Encoding:gzip 编码
Content-Type:text/html;charset=utf-8 类型
1.响应体
Accept:告诉浏览器,它所⽀持的数据类型
Accept-Encoding: 告诉浏览器,它所⽀持的编码格式 GBK UTF-8 GB2312
Accept-Language:告诉浏览器,它的语⾔环境
cache-Control:缓冲控制
connection:告诉浏览器,请求完成是断开还是保持连接
Host:主机..../.
Refrush:告诉客户端,多久刷新⼀次
Location:让⽹页重新定位;
2.响应状态码
200:请求响应成功 200
3**:请求重定向
重定向:你重新道我给你信位置去;
4xx:不到资源;404
5xx:服务器代码错误 500 502⽹关错误
常见⾯试题:
当你的浏览器中地址栏输⼊地址并回车的⼀瞬间到页⾯能够展⽰回来,经历了什么?
5.Maven
我为什么要学习这个技术?
1. 在JavaWeb中,需要使⽤⼤量的jar包,我们⼿动去导⼊;
2. 如何个够让⼀个东西⾃动帮我导⼊和配置这个jar包。
3. 由此,Maven诞⽣了!
5.1Maven项⽬架构管理⼯具
我们⽬前来救是⽅便导⼊jar包的!
Maven的核⼼思想:约定⼤于配置
有约束,不要去违反。
Maven会规定好你该如何去编写我们java代码,必须按照这个规范
5.2下载安装Maven
下载完成后,解压即可;
电脑上的所有环境都放在⼀个⽂件夹下,⽅便管理
5.3配置环境变量
在我们的系统环境变量中
配置如下配置:
M2_HOME maven ⽬录下的bin⽬录
MAVEN_HOME maven的⽬录
在系统的path中配置%MAVEN_HOME%\bin
5.4阿⾥云镜像
镜像:mirrors
<mirror> <id>alimaven</id> <name>aliyun maven</name> <url></url> <mirrorOf>central</mirrorOf> </mirror>
5.5本地仓库
建⽴本地仓库
<localRepository>/path/to/local/repo</localRepository> -->
5.6在idea中使⽤Maven
1. 启动idea
2. 创建⼀个maven项⽬
3.
4.
解决警告问题
必须要的配置:为什么会有这个问题:我们访问⼀个⽹站,需要制定⼀个⽂件夹名字
5.7标记⽂件夹⽬录
Maven的注意事项:
<!--在build中配置resources,来防⽌我们资源导出失败的问题-->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
maven打包本地jar包</resource>
</resources>
</build>
5.8maven中遇到的问题
idea中每次都要重复配置Maven
6.Servlet
6.1Servlet简介
Servlet就是sun公司开发动态web的⼀门技术
sun公司在这些API中提供⼀个接⼝叫作:Servlet,如果你想开发⼀个Servlet程序,只需要完成两个⼩步骤:
编写⼀个类,实现Servlet接⼝
把开发好的java类部署道web服务器中。
把实现了Servlet接⼝的java程序叫做Servlet
6.2HelloServlet
Servlet接⼝Sun公司有两个默认的实现类:HttpServlet,GenericServlet
1.构建⼀个普通的maven项⽬,删掉⾥⾯的src⽬录。以后我们的学习就在这个项⽬⾥⾯建⽴Moudel;这个空的⼯程就是Maven的主⼯程;
2.关于Maven⽗⼦⼯程的理解
⽗项⽬中会有⼀个
<modules>
<module>servlet-01</module>
</modules>
⼦项⽬中会有⼀个
<parent>
<artifactId>javaweb-02-servlet</artifactId>
<groupId>com.dong</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
⽗项⽬中的java⼦项⽬可以直接使⽤
son extends parents
web配置⽂件更改
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="/xml/ns/javaee"
xmlns:xsi="/2001/XMLSchema-instance"
xsi:schemaLocation="/xml/ns/javaee
/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
3.Maveb环境优化
1.修改web。xml为最新的
2.将maven的结构搭建完整
4.编写⼀个Servlet程序
1.编写⼀个普通类
2.实现Servlet接⼝,这⾥我们直接继承HTTPServlet
public class HelloServlet extends HttpServlet {
//由于get或者post只是请求实现的不同的⽅式,可以互相调⽤,业务逻辑都⼀样
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter writer = Writer();//响应流
writer.print("Hello,Servlet");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
}
5.编写Servlet的映射
为什么需要映射:我们写的是java程序,但是要通过浏览器访问,⽽浏览器需要连接web服务器,所以我们要在web服务中注册我们写的Servlet,还需给他⼀个浏览器能够访问的路径;
<!-- 注册Servlet-->
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.dong.servlet.HelloServlet</servlet-class>
</servlet>
<!-- servlet的请求路径-->
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
6.配置Tomcat
注意:配置项⽬发布的路径就可以了
7.启动测试
6.3Servlet原理
Servlet是由Web服务器调⽤,web服务器在收到浏览器请求之后,
6.4Mapping问题
1. ⼀个Servlet可以指定⼀个映射路径
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
2. ⼀个Servlet可以指定多个映射路径
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello1</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello2</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello3</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello4</url-pattern>
</servlet-mapping>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论