91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Servlet和Jsp知識點有哪些

發布時間:2021-10-20 15:59:23 來源:億速云 閱讀:114 作者:柒染 欄目:大數據

這篇文章將為大家詳細講解有關Servlet和Jsp知識點有哪些,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

新建Servlet

        重寫service方法,service方法有兩個參數:req和resp,在jsp中叫做request和response。

編碼設置  

resp.setContentType("text/html;charset=utf-8");
req.setCharacterEncoding("utf-8");

創建Service層對象

UserService us = new UserServiceImpl();

處理請求

        如果一個servlet需要處理多個請求,那servlet就需要識別來的是哪一個請求,可以在jsp的form表單中加一個input標簽

<input type="hidden" name="oper" value="login">

        type屬性值為hidden,這樣不會影響頁面效果,將所有區分請求的標簽的name屬性設成同一個,這里叫'oper',value設成不同的值。

        在service方法中做判斷,分別調用不同的方法

            //獲取操作類型
			String oper = req.getParameter("oper");
			if("login".equals(oper)) {
				//調用登錄校驗方法
				CheckUserLogin(req,resp);
			}else if("reg".equals(oper)){
				//調用注冊功能
				userReg(req,resp);
			}else if("out".equals(oper)){
				//調用退出功能
				userOut(req,resp);
			}else if("pwd".equals(oper)){
				//調用密碼修改功能
				userChangePwd(req,resp);
			}else if("showAll".equals(oper)){
				//調用查看所有用戶信息功能
				userShowAll(req,resp);
			}else {
				System.out.println("沒有找到相應操作"+oper);
			}

        req.getParameter(“屬性名”)方法可以獲取form表單中提交的數據。

        那form表單如何知道要提交給哪個servlet處理呢?

        通過設置form標簽的action屬性就可以,將action屬性值設成servlet的別名。

        那如果沒有form表單,比如我只是在頁面中點擊一個按鈕,想讓servlet來處理,怎么實現?操作如下:

function tuichu(){
	var flag = window.confirm("是否退出?");
	if (flag) {
	    //利用form表單提交oper
		document.write("<form action='user' method=post name=form1 style='display:none'>");  
	    document.write("<input type='hidden' name='oper' value='out'>");  
	    document.write("</form>");  
	    document.form1.submit(); 
	}
}

請求轉發與重定向

        在servlet中實現頁面跳轉有兩種辦法:請求轉發和重定向

        請求轉發:

req.getRequestDispatcher("login.jsp").forward(req, resp);

        請求轉發還是一次請求,瀏覽器地址欄中的url不會改變,req中的數據仍然在。

        重定向:

resp.sendRedirect("main.jsp");

        重定向是兩次請求,url改變,req中的數據沒了。

Cookie和Session

        不同請求見的數據流通如何完成?

        req里的數據沒了,是不能實現的。

        有兩種辦法:cookie和session

        cookie:將一些數據存在瀏覽器中,數據量較小。

        基本使用方法:

//創建cookie
 Cookie c = new Cookie("uname", "zhangsan");
 Cookie c2 = new Cookie("color","red");
//設置cookie有效期,參數的單位是秒
 c2.setMaxAge(3600);
//設置路徑
c2.setPath("/Servlet03/gc");
    		
//添加到瀏覽器
resp.addCookie(c);//臨時存儲
resp.addCookie(c2);//通過上面設置的有效期,實現了cookie紀錄一個小時的定長存儲
		//獲取cookie
		Cookie[] cks = req.getCookies();
		if(cks!=null) {
			for(Cookie c:cks) {
				System.out.println(c.getName()+":"+c.getValue());
			}
		}

        Session:將數據存在瀏覽器中,在cookie中存一個session的id連接到服務器端的session對象

        基本使用方法:

			String name = "張三";
			
			//創建session對象
			HttpSession hs = req.getSession();
			//這行代碼既是創建又是獲取session
			
			
			//設置session時效
			hs.setMaxInactiveInterval(5);//設置時間為5秒
			
			hs.invalidate();//強制失效
			
			//存儲數據
			hs.setAttribute("name", name);

關于Servlet和Jsp知識點有哪些就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

荔波县| 两当县| 洪江市| 汾阳市| 原平市| 汽车| 万源市| 禹城市| 年辖:市辖区| 成都市| 随州市| 剑川县| 河间市| 特克斯县| 吴川市| 南召县| 迁西县| 海伦市| 连江县| 库车县| 任丘市| 宁都县| 同江市| 密云县| 读书| 海晏县| 南岸区| 潜山县| 卢龙县| 易门县| 库伦旗| 鸡泽县| 宜阳县| 板桥市| 辽宁省| 贺兰县| 太湖县| 当雄县| 定州市| 三门县| 九寨沟县|