1、HTTP和HTTPS的區別:
http:
- 無狀態,一次請求要三至四次握手。
- 數據不加密。安全性差
- 不能區別是否已經響應過請求------無辨識度
https:
- 通過ssl/tls協議加密
- 身份驗證
- 保護數據完整度
- 內容加密
2、多線程的運用環境:
從用戶的角度考慮,就是爲了得到更好的系統服務;從程序自身的角度考慮,就是使目標任務能夠儘快的完成,更有效的利用系統資源。綜合考慮,一般一下場景使用多線程:
- 程序包含複雜的計算任務時(花費很多時間),主要是利用多線程獲取更多的CPU時間
- 處理速度較慢的外圍設備,比如打印時,網絡程序、設計數據包的收發,時間因素不定。(爲了等待網絡,文件系統、用戶或其他IO響應而耗費大量的執行時間)使用獨立的線程處理這些任務,可使程序無需專門等待結果。
- 程序設計自身的需求,WINDOWS系統是基於消息循環的搶佔式多任務系統,爲使消息循環系統不至於阻塞,程序需要多個線程來共同完成某些任務。
3、break、return、continue區別
- break:多用於循環中,僅退出當前循環
- return:從當前的方法中退出,返回到該調用的方法的語句處,繼續執行
當try-catch中涉及到return時:https://blog.csdn.net/qq_30816657/article/details/80297646
- continue:終止當前循環,但是不跳出循環(再循環中continue後面的語句是不會執行了),繼續往下根據循環條件執行循環。
4、Filter
介紹:filter過濾器對web服務器管理的所有web資源,例如JSP、Servlet、靜態文件等進行攔截。從而實現URL級別的權限控制、過濾敏感詞彙、壓縮響應信息等一些高級功能。
實現方式:implement Filter接口,重寫doFilter方法。
package me.gacl.web.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
/**
* @ClassName: FilterDemo01
* @Description:filter的三種典型應用:
* 1、可以在filter中根據條件決定是否調用chain.doFilter(request, response)方法,
* 即是否讓目標資源執行
* 2、在讓目標資源執行之前,可以對request\response作預處理,再讓目標資源執行
* 3、在目標資源執行之後,可以捕獲目標資源的執行結果,從而實現一些特殊的功能
* @author: 孤傲蒼狼
* @date: 2014-8-31 下午10:09:24
*/
public class FilterDemo01 implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("----過濾器初始化----");
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
//對request和response進行一些預處理
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
System.out.println("FilterDemo01執行前!!!");
chain.doFilter(request, response); //讓目標資源執行,放行
System.out.println("FilterDemo01執行後!!!");
}
@Override
public void destroy() {
System.out.println("----過濾器銷燬----");
}
}
在web.xml中配置filter
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!--配置過濾器-->
<filter>
<filter-name>FilterDemo01</filter-name>
<filter-class>me.gacl.web.filter.FilterDemo01</filter-class>
<!--配置FilterDemo02過濾器的初始化參數-->
<init-param>
<description>配置FilterDemo01過濾器的初始化參數</description>
<param-name>name</param-name>
<param-value>gacl</param-value>
</init-param>
</filter>
<!--映射過濾器-->
<filter-mapping>
<filter-name>FilterDemo01</filter-name>
<!--“/*”表示攔截所有的請求 -->
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>