JAVA高级工程师课程笔记整理——(八)tomcat与九大内置对象
(八)tomcat與九大內(nèi)置對象
tomcat
????B/S?
????????瀏覽器/服務器
????????請求:request
????????響應: response
????C/S:
????????客戶端/服務器
????URL:
????????網(wǎng)址
????URI:
????????范圍包括url
????http
????https: 更安全的http協(xié)議
????tomcat常用版本:
????????tomcat6,tomcat7
????安裝要求:
????????最好不要放在中文文件夾,文件夾名有空格或
????????特殊字符
????????apache-tomcat-7.0.41.rar
????????解壓當前文件夾,重命名文件夾為tomcat7
????啟動:
????????/bin/startup.bat
????????需要jdk環(huán)境
????????新建JAVA_HOME??變量值:jdk路徑
????????在path里添加:%JAVA_HOME%\bin;
????tomcat目錄結構:
????????/bin??存放腳本文件
????????/conf??存放配置文件
????????/lib??jar文件
????????/logs??存放日志文件
????????/temp??臨時文件
????????/webapps??發(fā)布web應用
????????/work???存放jsp生成的servlet程序
????訪問tomcat服務器:
????????TCP,默認端口是8080
查看端口占用情況:
????netstat -ano
????查找占用端口的pid,在任務管理器找到pid
????對應的進程
修改tomcat默認端口:
????conf/server.xml
??????????<Connector port="8080" protocol="HTTP/1.1"
???????????connectionTimeout="20000"
???????????redirectPort="8443" />
配置tomcat用戶名和密碼:
????conf/tomcat-users.xml
????????<role rolename="manager-gui"/>
????????<user username="tomcat" password="123456" roles="manager-gui"/>
部署靜態(tài)網(wǎng)站:
????將web應用(網(wǎng)站)部署到
????webapps下????
tomcat7集成到myeclipse中:
myeclipse 將web工程生成war文件:????
jsp:
????Java server page
????運行在服務器端的Java頁面
????使用HTML嵌套Java代碼實現(xiàn)
????新建一個jsp:
????jsp的三個編碼都要設為UTF-8
????jsp頁面寫Java代碼:
????????<%
????????????java代碼...
????????%>
????jsp的注釋:
????????ctrl+shift+/
????????<%-- ?
??????????--%>
????jsp聲明變量/全局變量
????????<%!
????????????int i=1;
?????????%>
????*jsp的執(zhí)行原理:
????????index.jsp--->index_jsp.java-->index_jsp.class
????????客戶端發(fā)送請求訪問web服務器下jsp頁面,
????????jsp頁面會自動轉(zhuǎn)換為java文件(servlet程序)
????????,再編譯成class文件,
????????最終被執(zhí)行響應到瀏覽器顯示
web程序常見錯誤
????404:找不到頁面
????500:jsp頁面/servlet 報錯
????<%@ page language="java" contentType="text/html; charset=UTF-8"
????pageEncoding="UTF-8"%>
????常見錯誤處理:
????404
????????<error-page>
????????????<error-code>404</error-code>
????????????<location>/404.jsp</location>
????????</error-page>
????500
????????<error-page>
????????????<exception-type>java.lang.Exception</exception-type>
????????????<location>/500.jsp</location>
?????????</error-page>
jsp常用標簽
????*靜態(tài)包含和動態(tài)包含
????????a.靜態(tài)包含<%@include file="two.jsp" %>
????????????先包含再處理
????????b.動態(tài)包含
????????????<jsp:include page="two.jsp"></jsp:include>
????????????先處理再包含
????????第二個頁面沒有邏輯處理,盡量用靜態(tài)包含,
????????比如一些公共的頁面,用靜態(tài)包含引入
????jsp轉(zhuǎn)發(fā)標簽
????????<jsp: forward>
????
jsp實現(xiàn)數(shù)據(jù)傳遞
????九大內(nèi)置對象:
????????out,request,response
????????session,application,page
????????pageContext,config,exception
????接收表單提交的數(shù)據(jù):
????????HttpServletRequest類
????????????request.getParameter();
????????????request.getParameterValues();
????中文亂碼問題
????????post提交方式:
????????????request.setCharacterEncoding("UTF-8");
????????get提交方式:
????????????治標(對字符串進行轉(zhuǎn)碼):
????????????????String getUname = new String(uname.getBytes("ISO-8859-1"),"UTF-8");
????????????治本方法:
????????????????修改tomcat的server.xml
????????????????URIEncoding="UTF-8"
????????????????useBodyEncodingForURI="true"
????????????<Connector port="8080" protocol="HTTP/1.1"
???????????????connectionTimeout="20000"
???????????????redirectPort="8443"??URIEncoding="UTF-8"/>
????請求中保存屬性:
????????request.setAttribute(String name,Object obj);
????????request.getRequestDispatcher(url).forward(request,response);????
????????案例:
????????????login.jsp?
????????????dologin.jsp 處理登錄?
????????????????判斷用戶名 admin ,密碼 bdqn
????????????????登錄成功跳轉(zhuǎn)到首頁index.jsp,
????????????????顯示一條消息:登錄成功!
????????????????登錄失敗:
????????????????????跳回登錄頁面,顯示一條消息
????????????????????用戶名或密碼錯誤!
轉(zhuǎn)發(fā)和重定向
????轉(zhuǎn)發(fā):
????????request.getRequestDispatcher(url).forward(request, response);
????重定向:
????????response.sendRedirect("url")
????轉(zhuǎn)發(fā)和重定向的區(qū)別:
????????轉(zhuǎn)發(fā)(服務器端行為):????
????????????url不變
????????????一次請求
????????????攜帶請求
????????????目標url僅當前web應用
????????重定向(客戶端行為):????
????????????url改變
????????????兩次請求
????????????不攜帶請求
????????????目標url任意的url
會話技術
????1.cookie
????????Cookie是客戶端技術
????????瀏覽器對一個網(wǎng)站最多支持20個cookie
????????所有的cookie總和不超過300個
????????cookie的大小限定為4KB
????????cookie目前不支持中文
????????新建一個cookie?
????????????a.創(chuàng)建cookie
????????????????Cookie mycookie = new Cookie(key,value);
????????????b.設置path
????????????????瀏覽器將此 cookie 返回到的服務器上的路徑。
????????????????cookie 對于服務器上的所有子路徑都是可見的。?
????????????c、設置最大存活時間
????????????????public void setMaxAge(int expiry)
????????????????設置 cookie 的最大生存時間,以秒為單位。
????????案例:
????????????上一次訪問時間:
????????????
????????????記住用戶名和密碼:
????????????????下一次訪問登錄頁面自動填寫
????????????????用戶名和密碼
????2.session
????????服務器端行為
????????為每個訪問的用戶,分配一個獨立的session
????????session默認存活時間是30分鐘
????????*session 原理:
????????????底層還是cookie,cookie的name是JSESSIONID?
????????????value是httpsession對象的ID值
????????????該cookie存活時間是瀏覽器進程
????????????path 是 當前web應用的path
????????????
????????在web.xml配置session的過期時間(單位分鐘)
????????session.setMaxInactiveInterval();//單位為秒
????????程序注銷session
????????session.invalidate();
????????session.removeAttribute();//清除對應的session
application
????????作用域是當前web項目
????????session的作用域是一個會話
????????request的作用域是當前請求????
轉(zhuǎn)發(fā):
????跳轉(zhuǎn)本web項目的其他URL,盡量用轉(zhuǎn)發(fā)
重定向:
????一般用于跳轉(zhuǎn)到首頁,跳轉(zhuǎn)到
????其他的URL
---------------------?
作者:高振05?
來源:CSDN?
原文:https://blog.csdn.net/dunegao/article/details/72799734?
版權聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!
總結
以上是生活随笔為你收集整理的JAVA高级工程师课程笔记整理——(八)tomcat与九大内置对象的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网上办信用卡申请进度查询
- 下一篇: 银行掀起降薪潮?四大行紧急回应,现在银行