javaWeb(1)
學習方式是書籍結合視頻。先看書籍,把知識理解了,會使用;然后看視頻,知道如何操作,看視頻的時候用2-3倍速。
?
?
Tomcat
打開:bin/startup.bat? 關閉:bin/shutdown.bat??? 注: Linux系統為:打開:bin/startup.sh? 關閉:bin/shutdown.sh
修改端號:conf/server.xml??? Ctrl+F 查找 8080?? 注:若端口為 80 ,可以直接用 localhost 訪問
訪問:http://localhost:8080/??? 或者 ?? localhost:8080/
在cmd任意目錄下啟動Tomcat服務器,直接使用startup打開:
? ? ? 1、需要配置path,在加上path:安裝地址---> D:\software3\apache-tomcat-8.5.40\bin;? ??
????? 2、新建環境變量: 變量名----> catalina_home? 變量值---->D:\software3\apache-tomcat-8.5.40? //為安裝地址
在cmd里直接使用catalina打開:catalina run??? 停止:catalina stop
?
建立管理員: conf / tomcat-users.xml
<role rolename="admin-gui"/> <user username="tomcat" password="s3cret" roles="admin-gui"/>?第一個javaWeb項目:? apache-tomcat-8.5.40\webapps? 放在這個文件夾里邊
注:需要標準的文件夾結構:
- *.html,*.jsp,etc
- /WEB-INF/web.xml
- /WEB-INF/classes/
- /WEB-INF/lib
注:可以實現打代碼保存網站自動更新,不需要把項目復制過去。
基礎入門:http://www.cnblogs.com/guogangj/p/3725371.html#create-java-web-project
servlet入門:https://www.cnblogs.com/whgk/p/6399262.html
注:在idea運行后,在鏈接欄上,自己打上sayhello? (這是web.xml 里邊映射的servlet的地址)
http://localhost/SayHello/sayhello ? ?? (sayhello是自己打上去的)
注:@WebServlet(name = "DeleteStudentServlet",urlPatterns = "/DeleteStudentServlet") ? ? ? 使用 @WebServlet注解不用再到web.xml 配置Servlet相關信息
?
?
JSP請求的轉發和重定向:
轉發:瀏覽器只有一次請求,地址欄不變, 頁面為轉發后的頁面;????? servlet發送信息到web容器,web容器再進行轉發到另一個servlet,所以依舊是這個請求,地址欄不變。
request.getRequestDispatcher("path").foward(request,response)
重定向:瀏覽器兩次請求,地址欄改變,頁面為轉發后的頁面;?????????? servlet發送信息到web容器,web容器告訴瀏覽器要再發一次請求,瀏覽器發來一個新的請求,地址欄改變。
response.sendRedirect("path")
注:response.sendRedirect(request.getContextPath()+"/comfirm.jsp");?? 使用絕對路徑
?
?JSP指令: 為JSP引擎而設計的,并不直接產生可見輸出,而是告訴引擎如何處理JSP頁面中的其余部分
<%@ %>????? 1.page??? 2.include? 3.taglib? 三種指令 : include為靜態包含
?
注: WEB-INF 一般不能使用地址欄直接訪問,但是請求轉發可以訪問到。? 將錯誤頁面(隱私文件)放在WEB-INF里面,
注:JSP頁面中的內容就兩個東西:模塊數據 和 元素 (元素有包括腳本,指令,標簽)
注:中文亂碼問題: 默認使用 ISO-8859-1
第一層:將jsp頁面的編碼方式和瀏覽器的編碼方式統一:UTF-8
第二層:對POST請求,在回去請求信息之前,調用request.setCharacterEncoding("UTP-8");? 或:response.setContentType("text/html; charset=UTF-8");
對GET請求: 修改Tomcat的 server.xml 文件 useBodyEncodeingForURI="true"? 表明使用請求體的編碼方式
??? <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" useBodyEncodeingForURI="true" />,還要再改Tomcat的xml映射;
(或對GET得到的字符串? new String(xxx.getBytes("ISO-8859-1"),"UTF-8");進行解碼)
輸出頁面的亂碼和對于傳遞參數的亂碼
?
?
MVC設計模式: Model????? Control????? View
網上的圖片
?
轉載于:https://www.cnblogs.com/Lemonades/p/10713230.html
總結
以上是生活随笔為你收集整理的javaWeb(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mysql锁【转】
- 下一篇: tomcat用户配置