这篇文章将为大家详细讲解有关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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。