A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 酷酷的大侠 初级黑马   /  2019-9-6 16:32  /  1060 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

# Servlet
A)继承体系
B)配置方式
  xml
      基本使用步骤
    1.创建类实现Servlet接口
    2.实现方法,在service方法中实现业务逻辑
    3.在web.xml中配置servlet
     <servlet>
      <servlet-name>demo
      <servlet-class>com.itheima.web.DemoServlet
     <servlet-mapping>
      <servlet-name>demo
      <url-pattern>/hello
  注解
      1.创建类实现Servlet接口,配置@WebServlet("/hello")
      2.实现方法,在service方法中实现业务逻辑
C)生命周期
     init(),service,destory()
D)线程安全问题如何解决
E)servlet创建时间
     servlet创建时机
   1/默认第一次访问时创建
   2/配置servlet开启服务器时自动创建
       <load-on-startup>设置为0或者正整数时
     <servlet>
      <servlet-name>demo</servlet-name>
      <servlet-class>com.itheima.web.DemoServlet</servlet-class>
      ------------------------
      <load-on-startup>1</load-on-startup>
      ------------------------
     </servlet>
F)Servlet原理
      1. 当服务器接受到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径
         2. 查找web.xml文件,是否有对应的<url-pattern>标签体内容。
         3. 如果有,则在找到对应的<servlet-class>全类名
         4. tomcat会将字节码文件加载进内存,并且创建其对象
         5. 调用其方法
# request
a.原理
     一次访问到了tomcat,tomcat对访问创建request,response对象,传给servlet的service方法中
b.作用
  1.获取请求参数
   请求行  4
       获取请求方式:getMethod()
       获取虚拟目录:getContextPath()
       获取uri:getRequestURI()
       获取url:getRequestURL()
   请求头  1
       获取请求头:getHeader()
   请求参数 3
       getParameter()
       getParameterMap()
       getParameterValues()
  2.请求转发  1
      getRequestDispatcher().forward(request,response)
   请求转发的特点
       1.浏览器地址栏不会发生变化
       2.只能转发到当前服务器内部资源中
       3.转发是一次请求
  3.作为域对象进行数据共享 3
  4.获取ServletContext  1
c.请求的协议格式
d.请求头
  content-type  提交数据的格式
  user-agent   判断版本
  referer(http://localhost/login.html)
          告诉服务器,我(当前请求)从哪来
          作用:防盗链
e.解决中文乱码问题
  get   tomcat8之前
  post  request.setCharacterEncoding("utf-8")
# response
a.原理
     
b.作用
  1.回写数据
      response.getWriter().write()
   response.getOutputStream().write()
  2.重定向页面跳转
      response.sendRedirect()
   重定向的特点
       1. 地址栏发生变化
             2.重定向可以访问其他站点(服务器)的资源
       3. 重定向是两次请求。不能使用request对象来共享数据
  3.响应的协议格式
  4.响应头
   Content-Type   设置数据格式同时设置编码集
   Content-Disposition  下载
c.解决响应乱码
  response.setContentType("text/html;charset=utf8")
# ServletContext
a.域对象进行数据共享
b.获取文件的服务器路径
  web目录  /b.txt
  web目录下/WEB-INF  /WEB-INF/b.txt
  web目录下/WEB-INF/classes  /WEB-INF/classes/b.txt
c.根据文件后缀名获取mime类型
  String s= context.getMimeType(String file);
d.文件下载
        1. 定义页面,编辑超链接href属性,指向Servlet,传递资源名称filename
     2. 定义Servlet
      1. 获取文件名称
      2. 使用字节输入流加载文件进内存
      3. 指定response的响应头: content-type:attachment;filename=xxx
      4. 将数据写出到response输出流
# Cookie
1.原理
2.API
  获取
   request.getCookies()
   cookie.getName()
   cookie.getValue()
   
  发送
   new Cookie("key","value")
   c.setValue()
   c.setMaxAge()
   c.setPath()
   c.setDomian()
   response.addCookie(c)
3.cookie特点
  
# Session
1.原理
2.API
  作为域对象进行数据共享
  request.getSession();
3.session特点
4.session的销毁
# JSP
a.原理
b.脚本
c.指令
d.9大内置对象
# EL
判断
取值
  基本类型
  对象
  
javabean的get/set方法  -> 属性
  属性和成员变量的区别
# JSTL
引入
<c:if

<c:forEach

# Filter
入门
  xml
  注解
原理
生命周期
拦截方式
顺序
# Listener
概念
   

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马