Servlet学习了解

    xiaoxiao2021-03-25  125

    Http协议: 掌握一些头信息 请求头 Accept: text/html,image/*          --支持数据类型  text/htmle  text/css  text/javascript  大类型/小类型   mine类型  *代表全部 Accept-Charset: ISO-8859-1     —字符集  拉丁一,不支持 中文 Accept-Encoding: gzip              --支持压缩 Accept-Language:zh-cn            --语言环境 Host: www.itcast.cn:80              --访问主机 If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT       --缓存文件的最后修改时间 Referer: http://www.itcast.com/index.jsp      --来自哪个页面、防盗链 User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)浏览器内核  MSIE:IE  chrome:谷歌 Cookie Connection: close/Keep-Alive        --链接状态 Date: Tue, 11 Jul 2000 18:23:51 GMT     --时间 响应头 Location: http://www.it315.org/index.jsp      --跳转方向 Server:apache tomcat               --服务器型号 Content-Encoding: gzip                --数据压缩 Content-Length: 80                --数据长度 Content-Language: zh-cn           --语言环境 Content-Type: text/html; charset=GB2312           --数据类型 Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT     --最后修改时间 Refresh: 1;url=http://www.it315.org          --定时刷新 Content-Disposition: attachment; filename=aaa.zip     --下载 Set-Cookie:SS=Q0=5Lb_nQ; path=/search Expires: -1                         --缓存 Cache-Control: no-cache                 --缓存 Pragma: no-cache                       --缓存 Connection: close/Keep-Alive                  --连接 Date: Tue, 11 Jul 2000 18:23:51 GMT 案例1 — 完成登陆案例         收集用户数据         需要:属性:   name                      提交的地址: action                     请求方式: post          servlet : 动态的web开发技术,本质就是一个类,运行在服务端的一个java小程序                     可以处理业务逻辑,生成动态的web内容 编写servlet:                     1.编写一个类: 继承与httpServlet,重写dopost方法                     2.编写配置文件,注册servlet,绑定路径                     3.访问,主机名称:端口/项目/路径 编写一个servlet步骤:                     1 编写一个类:a 继承httpservlet类                                              b 重写doGet或者dopost方法                     2 编写配置文件(wen-inf/web-xml)                                             a.注册servlet                                             b.绑定路径                     3 访问 : http://主机:端口/项目名/路径                     4    接受参数: 格式 key=value                                              通过request.getparam(“key”)                            5  会写内容:                                 response.getWrite.print(“数据”)                            6 中文乱码                                 response.setContentType(“text/html; charset=utf-8”);   步骤分析:                1.现有数据库和表                     create  dataSource  web09;                     use web09;                     create table user {                             id Int primary key out_incement                             username varchar(20),                             password  varchar(20),                             email  varchar(20),                             name varchar(20),                             sex varchar(20),                             birthday archer(20),                             hobby  archer(20)                           }                2.复制页面                         修改login.xml                         给用户和密码添加name属性                         修改表单的action属性                                             action=“http://locahost/8080/login"                3. 创建servlet                4.导入jar包:                                 驱动   dbUtls  c3p0                 5 导入工具栏和配置文件:                      dataSourceUtils                     才p9-config.xml                 6 创建server(loginServlet : 路径login)                             接受用户名和密码                             调用service层,完成登陆操作                             提示信息                 7 userService                         login (userName, passWord)     servlet总结: 体系了解           servlet : 接口                          httpServlet: 抽象类                                             自定义的Servle                                               Servlet的常用方法:       Servlet 生命周期    是单实例多线程的 默认第一次访问的时候,服务器创建Servlet,      并调用init方法,并调用一次service方法                                                                                     void init(servlet  config) 初始化方法   执行一次,第一次访问的时候执行                                                                                   void service(ServletRequest request, ServletResponse response) 服务,业务逻辑   请求一次,执行一次,请求来的时候执行                                                                                  void destroy() : 销毁   Servlet被移除或者服务器被关闭的时候                                                                               servletConfig getServletConfig            GenericServlet: 抽象类                                     除了service方法没显现,其他的都实现了             httpServlet常用方法:                                 service方法做了实现,把参数强转,重载service方法                                 重载的service发放获取请求方式,根据请求方式的不同调用不同的doXXX方法                                在servlet标签有一个子标签 load-on-startup     :  作用:用来修改servlet的初始化时机                                                                                              取值:正整数  值越大优先级越低                   当我们的配置文件里面没有指定配置的话,就查找tomcat的web.xml             路径的写法: 相对路径:                                         当前路径                                         上一级路径                                    绝对路径:                                             带主机和协议的绝对路径:(访问站外资源)                                                         http//:www.baidu.com/XXX                                              不带主机和协议的绝对路径                                                         /day/hello               定时刷新:            常见的响应头-refresh                     响应头格式:                                          refresh:描述; url=跳转的路径                            设置响应头:                                                     response.setHeader(string key, string value) ; 设置字符串形式的响应头                                                    response.addHeader(String,String value); 追加响应头,若之前设置过这个头,则追加;                                                                     若没有设置过,则设置                                         设置定时刷新:                                                  response.setHeader(“refresh”,”3;url=/login.html”)                             统计登陆成功的总人次数:                             在一个用户登陆成功之后,获取之前登陆成功的总人次,将次数加1                             在访问另一个Servlet的时候,显示登陆成功的总人次                                 ServletContext(全局管理者) 上下文:                             常用的方法:                                                 setAttbute(String  key, object value) 存取值                                                  object       getAttbute(string key) 获取值                                                 removeAttbute(String key) 移除值                             获取全局管理者:                                             1. 项目启动的时候,初始化登陆次数,在loginServlet的init方法中,将次数初始化为0,放入ServletContent上                                             2.getServletContent();                                             3.登陆成功之后,在loginServlet中获取全局管理者,获取登录成功的总数,然后加1,然后设置回去                                             4.当访问showServlet的时候,获取全局管理者,获取登陆成功的总次数,然后在页面打印出来即可                 ServletConfig: Servlet的配置对象                  servletContext : 一个项目的引用,代表的当前项目                                             当项目启动的时候,服务器会为每个web项目创建一个ServletContext对象                                             当项目被移除的时候或者服务器关闭的时候,ServletContext销毁                                             作用:   1.获取全局的初始化参数                                                           2.共享资源                                                           3.获取文件资源                                                                       getRealPath("/1.txt"):获取项目发布到服务器上位置的根目录                                                                        getResourceAsStream("/1.txt"):以流的形式返回一个文件                                              获取方式: 1.ServletConfig.getServletContext()                                                                  2.getServletContext                   servletContext : 域对象  共享的数据                                               当成map集合  常用方法   XXXattbute                                                                                                                                                                                                                                                                           
    转载请注明原文地址: https://ju.6miu.com/read-8676.html

    最新回复(0)