前置知识
URL查找的过程
ip对应主机地址
port对应进程
应用上下文路径对应项目
之后的uri,对应项目的资源
uri映射资源:
(1)资源包括静态资源文件
(2)还包括程序提供的资源(Servlet提供的路径及http请求响应资源)
一、重定向和转发的区别
//重定向:
resp.sendRedirect(req.getContextPath() + "/main.html");
//转发:
req.getRequestDispatcher("error.html").forward(req,resp);
二、Session
1.场景分析
2.Session原理/作用:
访问敏感url时,通过session可以校验用户身份信息
三、Cookie的作用/原理:
1.使用场景
在登录页面使用,勾上remember me/记住我/多少天内免登录选项,可以直接登录
2.实现原理
四、Session和Cookie的区别
四、web项目
1.开发
2.编译(编译路径的目录结构)
3.部署
基于target/项目部署文件夹来操作
第一种方式:打包,部署到Tomcat/webapps目录下
通过浏览器访问的url中,项目不署名就是target下的项目部署名
第二种方式:IDEA部署,通过idea中 的Tomcat配置war explored,代表部署target/项目部署名
例如:
Application:/test
就是一个项目部署名
4.运行
部署后,运行Tomcat服务器:startup命令(http请求的端口默认为8080,也可以设置为其他的)
5.使用
客户端访问http服务,url为http://ip:port/项目部署名/访问的服务路径?k1=v1&k2=v2
问题一:404问题,url怎么定位资源
先查询IP所在主机,查找对应端口的应用程序,查找部署的项目,最后查找该项目的服务(包括静态资源及Servlet提供url服务)
如果还找不到,返回404
问题2:比如访问某个服务,浏览器让下载文件
浏览器通过响应的Content-Type来解析数据,所以应该检查Servlet设置响应Content-Type的代码
问题三:写页面,没有发起http请求,比如form写成from
问题四:启动报错,要观察控制台的异常信息,抛出异常的部分
比如Servlet配置的url为login,Servlet路径必须以/开头