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、注意註解的方式不能出現同名的重複註解