servlet的一些用法及相关知识的一些总结

   servlet
    是一个小型java服务器 通常通过http接受和响应来自web的请求
    
    实现servlet
        要么实现servlet接口 要么继承GenericServlet,HttpServlet类
        通过配置进行操作 在web项目中,web.xml里进行配置
        
    servlet入门程序
        1,创建一个类,让这个类实现GenericServlet类
        2,实现类里面的 service(ServletRequest req, ServletResponse res)
            ServletRequest代表请求
            ServletResponse代表响应
        3,使用ServletResponse向页面输出内容 getWriter()
        4,在web项目中的web.xml进行配置,让服务器知道是一个servlet
            *
            servletDemo1
            cn.itcast.servlet.ServletDemo1
            

            
            servletDemo1
            /hello
            

            
    servlet的执行过程
        1,根据在浏览器地址栏输入的地址 找web.xml中相同的url-pattern
        2,找到了url-pattern 对应的servlet-name
        3,根据找到的servlet-name到另外一个标签的(servlet)相同名称servlet-name
        4,在servlet标签里面找到了相同名称的servlet-name,找servlet的包类路径servlet-class
          利用反射原理,让servlet里面的service方法执行
          
    servlet的生命周期
        从创建到销毁
        3个与生命周期有关的方法
            1,init方法
                servlet创建时执行一次 在第一次访问时创建
            2,servlet方法
                servlet在服务器启动时不会创建  在每次访问时执行多次
            3,destory方法
                servlet销毁时执行1次
                
    servlet开发的细节问题
        有参数的init()最终也要调用无参的init() 直接使用init()无参
        
        在Httpservlet类里的servlet()和doxxx()的关系
        提交的是get就调用get() 提交的是post就调用post()
        一般在开发中 直接写deGet()和doPost()
        创建时直接继承HttpServlet实现servlet
        
        在servlet标签里写正整数
        
        简化编程
        无论什么提交方法都会执行 在doPost()调用doGet()
        doGet(request,response);
        
        
    url-pattern的配置
        1,完全路径匹配
            写法:/aa
        2,目录匹配
            写法:/aa/*   (aa下所有项目)
        3,扩展名匹配
            写法:*.do
            
        优先级 完全路径匹配>目录匹配>扩展名匹配
        
        绝对路径
            1,http://127.0.0.1/day07-3/path02/a.jpg
            http://ip地址+端口号/文件的路径
            2,直接写/项目名称/文件路径
            
    重定向和转发
        重定向:客户端
            要请求两次 携带项目名称
        转发:服务器端
            请求一次 不需要携带项目名称
            
servletconfig
    创建servletconfig对象
    直接使用getServletconfig()
    得到当前运行的servlet名称
    
    获取初始化参数
        在web.xml中配置初始化参数
        在servlet标签里配置
        
servletContext对象
    getServletContext()
    获取全局的初始化参数    
    
    
    使用servletContext对象获取web项目中的资源
        使用相对路径 路径是相对虚拟机的位置 在tomcat的bin里
        传统的相对路径 不能读取web里的文件
        
        文件放在src或包里面(WEB-INF)
        getResourceAsStream("/项目名称 /文件路径")
        getRealPath("/项目名称 /文件在tomcat的webapps下面的具体路径")
        
        放到webroot下
        getResourceAsStream("/项目名称")
        
        注意:把文件放到webroot同级目录下 不会部署到tomcat中
        
    getRealPath()得到文件的完全路径
        /项目名称(文件在tomcat的webapps里面的具体路径)
        和getResourceAsStream()类似
        
    类加载器读取文件
        读取的是classes里的文件
        1,类名.class
        2.对象.getClass()
        3,Class.forName("包类路径")
    
   

你可能感兴趣的:(servlet的一些用法及相关知识的一些总结)