Maven的核心思想:约定大于配置
Servlet简介:sun公司开发动态web的一门技术
编写一个类,实现Servlet接口
Servlet接口在Sun公司有两个默认的实现类:HttpServlet,GenericServlet
Maven父子工程的理解:
父项目中会有
Maven环境优化
修改web.xml为最新版本
编写Servlet的映射:Java程序需要游览器访问,游览器需要web服务器,所以我们需要在web服务中注册我们写的Servlet,还要一个游览器能够访问的路径
Mapping问题
一个Servlet可以指定一个映射路径
一个Servlet可以指定多个映射路径
一个Servlet可以指定通用映射路径
默认请求路径:
自定义后缀和前缀
注意:*之前不能加映射的路径
优先级问题
指定了固有的映射路径优先级最高,找不到走默认的处理请求。
ServletContext
web容器在启动的时候,它会为每个web程序都创建一个对应的Servlet对象,它代表了当前的web应用
共享数据
先由一个Servlet存放数据,再读取数据并设置中文编码
获取初始化参数
请求转发
转发路径不变,重定向路径改变
读取资源文件
在build中配置resources,来防止我们资源导出失败的问题
需要一个文件流
Response下载文件
Response重定向
一个web资源收到客户端请求后,他会通知客户端去访问另外一个web资源,这个过程叫重定向
用户登录
void sendRedirect(String var1) throws IOException
重定向和转发的区别:
相同点:页面都会跳转 重定向(甩锅)转发(跑腿)
不同点:请求转发的时候,URL不会发生变化
重定向时候,URL地址栏会发生变化
HttpServletRequest
代表客户端的请求,用户通过Http协议访问服务器,HTTP请求中的所有信息会被封装到HttpServletRequest,通过这个HttpServletRequest的方法,获得客户端的所有信息
1.获取前段传递的参数
请求转发
保存会话的两种技术Cookie、Session
会话:用户打开游览器,点击超链接,关闭超链接(有状态的会话)
Cookie:客户端技术(响应,请求)
从请求中拿到cookie信息
获得cookie中的key
获得cookie中的value
新建一个cookie
设置 cookie的有效期(不设置和设置为0可把cookie删除)
服务器响应给客户端cookie
一个Cookie只能保存一个信息
一个web站点可以发300个cookie给游览器,最多存放20个cookie
cookie大小4kb
编码译码
Session(重点)
服务器技术,利用这个技术,可以保存用户的会话信息,可以把信息或者数据放在session中
服务器会给每一个用户创建一个Session对象
一个Session独占一个游览器
和Cookie的区别
Cookie是把用户的数据写给用户的游览器,游览器保存
Session把用户的数据写到用户独占Session中,服务器端保存(保存重要的信息,减少服务器资源的浪费)
Session对象由服务器创建
使用:保存一个登录用户的信息,购物车信息,网站中常用的数据
Session的使用:
得到Session对象
注销Session
会话自动过期:web.xml配置