smallFishBug 发表于 2017-7-12 23:17:04

JSP&Servlet基础05

Servlet细节
        一个Servlet只有一个实例对象,就可能出现一个Servlet同时处理多个请求,出现
        1线程不安全问题
        解决方法:
        初学者:不要在Servlet中创建成员,创建局部变量
        高手:创建无状态成员
                        区别在于 是否有属性
                        有状态就是有数据储存功能,该class有属性的对象,有状态对象(stateful Bean)
                        就是有实例变量的对象,可以保存数据,是非线程安全的,在不同方法调用间不保留
                        任何状态
                        无状态就是一次操作,只某种没有任何属性的仅仅由方法组成的对象,无状态对象(stateless bean),不能保存数据,是不变类,线程安全的
        大高手:创建有状态的成员,但状态必须为只读的只有get方法,没有set方法
       
        2服务器启动时就创建Servlet
                一个Servlet有两个时间点可以被创建
                        第一次访问时
                        服务器启动时
                配置方法:
                在web.xml中的<servlet>中加入<load-on-startup>0</load-on-startup>
                非负整数决定Tomcat创建该servlet的优先级,越小越优先
               
        3<url-pattern>
        <url-pattern>是<serlvet-mapping>的子元素,用来指定Servlet指定访问路径
       
        使用通配符
        <url-pattern>/servlet/*</url-pattern>路径匹配,符合前面路径的都使用这个类servlert
       
        <url-pattern>*.do</url-pattern>匹配扩展名
       
        <url-pattern>/*</url-pattern>全部匹配
        匹配越精确,优先级越高
       
        4Web.xml文件
        Conf中的web.xml文件相当于写入每个项目的web.xml中,可以当做所有web.xml的父文件
       
        里面有个<servlet-name>default</servlet-name>优先级最低,如果路径出错,显示404错误
        <servlet-name>jsp</servlet-name>全部的jsp相关处理类

smallFishBug 发表于 2017-7-12 23:19:03

愿得我心如明月,独映寒夜迷途人
页: [1]
查看完整版本: JSP&Servlet基础05