做英文網(wǎng)站用什么字體好響應(yīng)式網(wǎng)站模板的應(yīng)用
http協(xié)議
http協(xié)議,是一個(gè)客戶(hù)端請(qǐng)求和響應(yīng)的標(biāo)準(zhǔn)協(xié)議,這個(gè)協(xié)議詳細(xì)規(guī)定了瀏覽器和萬(wàn)維網(wǎng)服務(wù)器之間互相通信的規(guī)則。用戶(hù)輸入地址和端口號(hào)之后就可以從服務(wù)器上取得所需要的網(wǎng)頁(yè)信息。
通信規(guī)則規(guī)定了客戶(hù)端發(fā)送給服務(wù)器的內(nèi)容格式,也規(guī)定了服務(wù)器發(fā)送給客戶(hù)端的內(nèi)容格式??蛻?hù)端發(fā)送給服務(wù)器的格式叫"請(qǐng)求協(xié)議";服務(wù)器發(fā)送給客戶(hù)端的格式叫"響應(yīng)協(xié)議".
Tomcat
Servlet
servlet本質(zhì)上也是java類(lèi),但要避循servlet規(guī)范進(jìn)行編與,沒(méi)有maino方法,它的創(chuàng)建,使用,銷(xiāo)毀都由
servlet容器進(jìn)行管理(如 tomcat). (言外之意:寫(xiě)自己的類(lèi),不用寫(xiě)main方法,別人自動(dòng)調(diào)用)
servlet是和http協(xié)議是緊密聯(lián)系的,其可以處理http協(xié)議相關(guān)的所有內(nèi)容。這也是servlet應(yīng)用廣泛的原因之一。
提供了servlet功能的服務(wù)器,叫做servlet容器,其常見(jiàn)容器有很多,如tomcat,jetty,weblogicseryer,
websphere,jboss等等。
package servlet;import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;import java.io.IOException;
import java.net.http.HttpClient;/*
實(shí)現(xiàn)Servlet
1.創(chuàng)建普通java類(lèi)
2.實(shí)現(xiàn)Servlet的規(guī)范,繼承HttpServlet類(lèi)
3.重寫(xiě)service方法,用來(lái)處理請(qǐng)求
4.設(shè)置注解,指定訪(fǎng)問(wèn)的路徑
*/
//@WebServlet("/ser01")
//@WebServlet(urlPatterns = "/ser01")@WebServlet(value = "/ser01") //value和urlPatterns都是路徑
public class servlet_demo1 extends HttpServlet {@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("Hello Servlet");//通過(guò)流輸出數(shù)據(jù)到瀏覽器resp.getWriter().write("hello world");}
}
?
package servlet;import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;import java.io.IOException;@WebServlet("/demo2")
public class servlet_demo2 extends HttpServlet {/*** 就緒/服務(wù)方法(處理請(qǐng)求數(shù)據(jù))* 系統(tǒng)方法,服務(wù)器自動(dòng)調(diào)用* 當(dāng)有請(qǐng)求到達(dá)servlet時(shí),就會(huì)調(diào)用該方法* 方法可以被多次調(diào)用* @param req* @param resp* @throws ServletException* @throws IOException*/@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("被調(diào)用了");}/*** 銷(xiāo)毀方法* 系統(tǒng)方法,服務(wù)器自動(dòng)調(diào)用* 當(dāng)服務(wù)器關(guān)閉或應(yīng)用程序停止時(shí),調(diào)用該方法* 方法只會(huì)執(zhí)行一次*/@Overridepublic void destroy() {System.out.println("Servlet被銷(xiāo)毀了");}/*** 初始化方法,系統(tǒng)方法服務(wù)器自動(dòng)調(diào)用* 當(dāng)請(qǐng)求到達(dá)Servlet容器時(shí),Servlet容器會(huì)判斷Servlet對(duì)象是否存在,如果不存在則創(chuàng)建實(shí)例并初始化* 方法只會(huì)執(zhí)行一次* @throws ServletException*/@Overridepublic void init() throws ServletException {System.out.println("被創(chuàng)建了");}
}