1.Servlet细节:
2.Servlet3.0新特性:
Servlet开始支持注解配置
之前在开发的时候配置至少八行
<!-- 告诉Tomcat来管理我的Servilet -->
<servlet>
<servlet-name>MappingServlet</servlet-name>
<servlet-class>com._520it._01_detail.MappingServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<!-- Servlet的映射 -->
<servlet-mapping>
<servlet-name>MappingServlet</servlet-name>
<!-- 定义Servlet的资源名称 -->
<url-pattern>/mapping</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>MappingServlet</servlet-name>
<!-- 定义Servlet的资源名称 -->
<url-pattern>/mapping2</url-pattern>
</servlet-mapping>
优点是解决硬编码问题
注解缺点是:
没能解决硬编码
使用注解配置Servlet的步骤:
1.在Servlet类上贴@WebServlet注解
2.在web.xml文件中进行如下的配置 metadata-complete="true":表示是否忽略Servlet上面的注解
metadata-complete="false"表示是否不忽略Servlet上面的注解,
Servlet线程安全问题:
Servlet在整个应用中最多只有一个对象
造成线程不安全的原因:多线程并发访问(修改),在操作同一份成员变量
解决方案:
1.自定义的Servlet都去实现SingleThreadModel接口,表示当前的Servlet只能同时被一个线程访问
2.建议不适用成员变量(推荐)
Cookie:
Cookie路径问题
Cookie在创建的时候,会根据当前的Servlet的相对路径来设置自己的路径
Servlet的相对路径(url-pattern最后的/前面的路径)
比如Servlet的url-pattern为/cookie/login,相对路径:/cookie/
Session:
Session:会话,从浏览器打开开始,浏览器关闭结束,
是服务端的技术,将数据保存在服务器 也可以称为会话Cookie
关于Tomcat启动问题:
Notes:
1、Tomcat启动异常可以查看报错时,不单单从第一条开始看,往往有用信息在第三第四条报错。
2、注意注解的方式不能出现同名的重复注解