當前位置:網站首頁>淺談Servlet,看完老板就給加薪了
淺談Servlet,看完老板就給加薪了
2021-08-20 06:30:44 【程序猿小碼農】
1.軟件結構發展史:
①單機時代——桌面應用
-
桌面應用俗稱單機應用,軟件所有數據都保存在電腦本地硬盤中。
-
優點:易於使用,結構簡單。
-
缺點:數據難以共享、安全性差、更新不及時。
-
如word、eclipse等
②聯機時代(Client-Server模式)
-
Client/Server結構(C/S結構)指客戶端和服務器結構。
-
優點:數據方便共享,安全性高。
-
缺點:必須安裝客戶端,昇級與維護困難。
-
如QQ、微信、支付寶等。
③互聯網時代(Browser-Server模式)
-
Browser-Server(B/S)模式指瀏覽器和服務器架構模式。
-
優點:開發簡單,無需安裝客戶端,數據易於共享。
-
缺點:相較於C/S模式,執行速度與用戶體驗相對較弱。
-
如百度、淘寶、各種網站等。
2.B/S模式執行流程:
通過瀏覽器把數據發送給服務器,服務器生成對應的Html代碼並返回給瀏覽器,瀏覽器對其解釋後顯示給用戶。
3.請求和響應:
-
從瀏覽器發送給服務器的數據包稱為“請求(Request)”。
-
從服務器返回給瀏覽器的結果稱為“響應(Response)”。
4.J2EE:
-
J2EE(Java 2 Platform Enterprise Edition)指 “Java 2 企業版”。
-
開發BS(Web)應用程序就是J2EE最核心的功能。
-
J2EE由13個應用模塊組成。
?5.Apache Tomcat:
- Tomcat是Apache軟件基金會旗下一款免費的開源的Web應用服務器程序。
6.J2EE與Tomcat的關系:
-
J2EE是一組技術規範和指南,具體實現由軟件廠商决定。
-
Tomcat是J2EE Web(Servlet和JSP 2個模塊)標准的實現者。
-
J2SE是J2EE運行的基石,允許Tomcat離不開J2SE(JRE和JDK)。
7.Servlet:
-
Servlet(Server Applet)是服務器小程序,只要用於生成動態Web內容。
-
Servlet是J2EE最重要的組成部分。
?二、Servlet:
例:第一個Servlet
FirstServlet.java:
web.xml:
?圖解執行流程:
1.標准Java Web工程結構:
?
<table border=“1” cellpadding=“1” cellspacing=“1” style=“width:650px;”><caption>標准Java Web工程結構</caption><tbody><tr><td style=“background-color:#dddddd;”>組織結構</td><td style=“background-color:#dddddd;”>描述</td></tr><tr><td>tomcat安裝目錄/webapps/</td><td>Tomcat 應用根目錄,存放所有Web應用</td></tr><tr><td>/web應用目錄/</td><td>Java Web 應用目錄</td></tr><tr><td>/web應用目錄/index.html(或.jsp)</td><td>默認首頁</td></tr><tr><td>/WEB-INF</td><td>WEB應用的安全目錄,用於存放配置文件</td></tr><tr><td>/WEB-INF/web.xml</td><td>web.xml是"部署描述符文件",是該Web項目核心配置文件</td></tr><tr><td>/WEB-INF/classes</td><td>存放編譯後的class文件</td></tr><tr><td>/WEB-INF/lib</td><td>存放web應用依賴的jar文件</td></tr><tr><td>/META-INF/MANIFEST.MF</td><td>包含Web應用的版本信息</td></tr></tbody></table>
2.Servlet開發步驟:
①創建Servlet類,繼承HttpServlet類(Servlet與標准Java類的區別)。
②重寫service方法,編寫程序代碼。
③配置web.xml,綁定URL。
3.Servlet訪問方法:?
-
遠程訪問IP地址,本地訪問localhost(默認端口是8080)。
-
context-path成為”上下文路徑“,默認為工程名。
-
url-mapping是映射地址。
例:
?web.xml:
4.請求參數:
-
請求參數是指瀏覽器通過請求向Tomcat提交的數據。
-
請求參數通常是用戶輸入的數據,使Servlet進行處理。
-
格式:參數1=值a&參數2=值b&參數3=值c…
-
請求參數通過URL向服務器發送。
錶單如和與servlet連接? 通過<form>標簽的action屬性。
5.Servlet接收請求參數:
-
接收單個參數:request.getParameter()
-
接收多個同名參數(如複選框):request.getParameterValues()
例:
Student.html:
package com.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SimpleServlet extends HttpServlet {
}
package com.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SimpleServlet extends HttpServlet {
}
package com.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class RequestMethodServlet extends HttpServlet {
}
<!DOCTYPE html>
<html>
<head>
<meta charset=“UTF-8”>
<title>Insert title here</title>
</head>
<body>
總結
對於面試還是要好好准備的,尤其是有些問題還是很容易挖坑的,例如你為什麼離開現在的公司(你當然不應該抱怨現在的公司有哪些不好的地方,更多的應該錶明自己想要尋找更好的發展機會,自己的一些現實因素,比如對於我而言是現在應聘的公司離自己的家更近,又或者是自己工作到達了迷茫期,想跳出迷茫期等等)
需要面試題以及項目大綱的朋友點贊+收藏後, 點擊這裏免費獲取!誠意滿滿!!
Java面試精選題、架構實戰文檔: 傳送門
整理不易,覺得有幫助的朋友可以幫忙點贊分享支持一下小編~
你的支持,我的動力;祝各比特前程似錦,offer不斷!
版權聲明
本文為[程序猿小碼農]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2021/08/20210820063043712o.html
邊欄推薦
猜你喜歡
隨機推薦
- Excel合並同列相同內容單元格
- QT 項目的創建和運行
- QDialog、QWidget、QMainWindow的區別
- C#入門筆記
- Linux Mysql 數據庫用戶管理
- Placement service – placement安裝(wallaby-allinone)
- Openstackan實驗之glance組件安裝與配置
- 達人評測 realme Book 增强版 Air 怎麼樣
- 不懼年齡,無限可能,32歲也能成功轉行IT行業
- 海外服務器的3種體系架構:SMP、NUMA、MPP
- Mysql存儲原理(2)
- 後臺返回的數值太大,js中數字太大導致的bug
- C#中int[] 轉 string[] 的代碼
- FFmpeg 調用 MediaCodec 硬解碼到 Surface 上
- 再探 redis 分布式鎖
- 【2021最後一波官方福利】七天玩轉Redis | 打卡還能領周邊活動開始啦
- 關於STM32調試器CMSIS_DAP的使用及注意事項
- HLS編程入門
- Quartz的持久化、集群使用實例(Quartz並發、Misfire、監聽器上手實例)
- 多線程的實現方式
- Shell編寫格式和執行方式
- 【C語言】從兩端向中間打印字符串
- 在txt中添加圖像路徑並將多個txt中的內容逐行拼接
- 網癮少年的自白:預退學少年最終實現編程夢?
- jupyter notebook代碼提示設置
- 線程基礎回顧(synchronized屏幕快照 2020-12)
- 頂級容器化技術
- 微服務服務拆分步驟(架構設計原則千萬條,高內聚低耦合第一條)
- 還有和Redis一樣好用的NoSQL
- Flask學習與項目實戰3:簡單入手模板及高階使用
- 【BUG記錄】com.alibaba.nacos.api.exception.NacosException: Request nacos server failed
- 如果對象的引用被置為null,;垃圾回收器是否會立即釋放對象占用的內存?
- 使用Redis搭建電商秒殺系統
- Navicat Premium 12 oracle 轉 mysql 斷點續傳
- 數據庫設計範式
- pytest-selenium demo
- [LeetCode]劍指 Offer II 038. 直方圖最大矩形面積
- Vision Transformer(Pytorch版)代碼閱讀注釋
- 『淺入深出』MySQL 中事務的實現
- Redis 設計與實現:事務