发表于: 2017-10-30 21:43:39
2 665
1;继续学习cookie,这个看师兄门讨论很激烈,把这个再学习一下
设置cookie包含一个用户名dudada。
访问页面可以看到
设置跳转页面
直接可以获得用户名,另外一个JSESSIONID是tomcat设置的cookie。
总结一下:这两个步骤就是演示了cookie的原理;就是浏览器先访问cookie设置好的用户名发给tomcat,服务器把信息保存到cookie,然后发给浏览器保存到本地,再访问的时候就会从保存好的cookie直接取出用户信息
2;会话session,这个是比较好理解的,类似于把服务器分成小隔间,一摸一样,但是内容取决于用户,按照浏览器的角度来说,打开浏览器访问一个网站开始,无论在这个网站中访问了多少页面,点击了多少链接,都属于同一个会话。 直到该用户关闭浏览器为止。
设置session.Jsp
获取Get.jsp
然后是session和cookie的关系,拿上面来说就是盒子和钥匙;要想开始一个会话,就必须拿到开启会话的工具,而cookie就是这个工具,tomcat的默认cookie就是上面学cookie时出来的那个JSESSIONID;理一下流程:
先是访问setSession,这个时候第一次访问没有Cookie,tomcat创建新会话,同时把信息放到会话里,返回给浏览器同时返回的有一个对应的jsessionid;浏览器保存到cookie,然后再次访问就会利用jsessionid,与session进行匹配,取出相应的信息。
最后再说一下session的有效期;登录一个账号之后,在短时间内,依然可以继续访问而不用重新登录;过一段时间之后还会要求重新登录,这是因为服务端的session在一段时间不使用后,就失效了;Tomcat默认配置下,是30分钟。
2;又看了一下EL表达式;简单来说就是简化,很方便使用,对比一个输出概念,不用el用c标签来;和用el表达式;少写了很多代码
A上面讲的是取值,EL取值针对于作用域时的优先级,就是作用域的优先级从小到大pageContext>request>session>application,做个实测;
B除了取值,el还可以访问bean属性,就是之前学的javabean;准确的来说就是符合两点;1. 提供无参public的构造方法(默认提供)2. 每个属性,都有public的getter和setter;也写个小小demo
d;再练习一下for循环,顺便再复习一下html的标签,之前的jsp可以,好像jstl也可以,这里El也可以,稍微简化了一下;其他逻辑判断的就暂时不看了
3;这两天学了jsp和servlet,总结一下两者都有弊端;前者编写html很方便,但是java代码确实不怎样,师兄也说了不建议在jsp里写Java代码;要是单独用servlet开发,那样Java代码很方便,但是html页面的拼接简直渣到吐;当初还以为脱离了servlet用jsp很easy。。。结果不咋样,实际上可以结合两者来写,这样的话结合两者,会轻便不少;也即是说在servlet里面只做查询数据库的内容;然后把内容跳到jsp页面,由jsp通过el表达式来做html的内容;这样来看实际上就是一种简单的MVC模式,把bean类放到模型层,就代表了数据;把jsp当作试图层,只关心页面的内容,用来展示数据;servlet暂时充当控制器的角色,它控制了数据取展示;
4;分页查询
首先是把数据库返回的值控制分页
然后是在jsp加上next的超链接,链接值为start+count,
最后按照逻辑计算上一页,首末页
同时,判断首末页的边界防止越出,加上三目运算就可以了
5;到这里一个表的操作基本上就完善了,可以把之前的登陆操做以及session会话判断加进来,做出先登陆,然后操作数据库;
首先是在LoginServlet 判断并且把验证成功的用户加入到 Session,否则重新登陆,
然后在查询界面也设置判断,如果由缓存就直接查询,否则就登陆
结论:如果用户先进入登录界面,直接成功登陆,那就跳转到查询界面,否则重新登陆,如果用户直接进入查询界面,会先被判断是否登陆过,根据session判断;如果由session里保存的有用户信息,则进行查询,否则跳回登陆界面
明日计划的事情:
1;拖了几天的mvc!!!
2;再学习一下mvc的相关知识
遇到的问题及解决方法:
1;直接访问修改界面报错,按照代码来说应该跳回登陆界面
最后在stackoverflow上发现要加个return或者else块;大体意思就是不加上return,重新跳转的话会自动终止代码。。。。。必须自己加return终止。
收获:
1;学习了cookie,session概念以及简单操作应用
2;学习分页查询以及完善其中边界逻辑
3;学会登陆界面和查询功能的结合
评论