您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Servlet和Jsp知識點有哪些,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
重寫service方法,service方法有兩個參數:req和resp,在jsp中叫做request和response。
resp.setContentType("text/html;charset=utf-8"); req.setCharacterEncoding("utf-8");
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中的數據沒了。
不同請求見的數據流通如何完成?
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知識點有哪些就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。