- 創(chuàng)建jsp project
window->preference->java->installed jre
server->runtime->environment->add
file->new->other->web->dynamic->target runtime - 創(chuàng)建頁面并運(yùn)行
jsp=html+java
web content->new tsp->index.jsp->ctrl+s
右擊run as server8.5->next
servers右擊重啟or關(guān)閉
charset pageencoding charset utf-8 - java代碼寫在<% %>里面
<% !int cnt=0;%>全局變量 定義表達(dá)式
<%= %>輸出表達(dá)式
out.printIn(" ")客戶端(網(wǎng)頁)輸出
system.out.printIn()控制臺輸出 - 字體大小 preference->general->appearance->colors and fonts->text fonts
command+shift+c 注釋 - http協(xié)議
客戶端request網(wǎng)址給服務(wù)器
服務(wù)器response頁面給客戶端 - 在chrome里查看數(shù)據(jù)包
F12 network
請求方式:get和post
get在URL里傳遞參數(shù)?username=kk&password=123456
post在url里看不出,通過表單提交給jsp頁面 - jsp內(nèi)置對象:request和response
request.getParameter()
out.print寫在哪在哪輸出
out.writer寫在頁面的最前面
當(dāng)輸出對象為空時(shí)print輸出null,writer報(bào)錯(cuò) - 請求轉(zhuǎn)發(fā)
request.getRequstDispatcher("login.jsp").forward(request,response)
服務(wù)器頁面之間數(shù)據(jù)傳遞
request.setAttribute("key",123456)
request.getAttribute("key")
每次訪問都會(huì)創(chuàng)建一個(gè)新的request對象 - 中文亂碼問題
在register_do的代碼,因?yàn)槭窃谶@里存進(jìn)數(shù)據(jù)庫的
new String(sex.getBytes("ISO-8859-1"),"utf-8") - 一次會(huì)話請求:客戶端打開一個(gè)網(wǎng)頁到關(guān)閉的整個(gè)過程
不同的瀏覽器建立不同的session
長時(shí)間不訪問session也會(huì)銷毀
session用來保存登錄信息,下次會(huì)覆蓋
session.getAttribute session.setAttribute - jsp的內(nèi)置對象:request response out session application(級別最高,整個(gè)服務(wù)器端只有一個(gè),為所有服務(wù)器提供服務(wù),eg統(tǒng)計(jì)在線人數(shù),tomcat啟動(dòng)時(shí)創(chuàng)建,關(guān)閉時(shí)銷毀)
(如果返回值為空不能進(jìn)行強(qiáng)制類型轉(zhuǎn)換) - servlet放在src的package里面,本質(zhì)是java類,處理邏輯的,jsp用來展示
路徑名@webservlet("/demo_do") 默認(rèn)get
在WebContent->WEB-INF->lib里通過web.xml配置servlet路徑
<servlet>
<servlet-name>Register</servlet-name>
<servlet-class>com.edu.servlet.register_do</servlet-class>
</servlet>
--------------------
<servlet-mapping>
<servlet-name>Register</servlet-name>
<url-pattern>/register_do</url-pattern>
</servlet-mapping>
-
重定向
response.sendRedirect("login.jsp")
