A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

©   /  2018-6-2 12:40  /  5179 人查看  /  52 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

林文辉

三层架构:
1.主要分为Dao(数据)层,Service(业务逻辑)层,web(界面)层。
2.把各个模块分开主要是为了降低耦合度。每个模块自己做自己的事
3.主要是一个思想,高内聚低耦合。这样的好处有很多,比如你有需求变化之类的
,你只需在在对应的层里修改就行了,就不需要把整个项目改一遍。

用户登录功能实现:
1.表单form action属性中写入要跳转到的Servlet
2.request.getParameter()获取表单中的参数。
3.将参数封装到实体类中,调用业务层,业务层调用数据层,通过DBUtils查询数据
库中的数据,并返回一个实体类
4.如果为空,返回登录失败,否则返回登录成功,通过response.getWirter().println()返回。

Servlet的生命周期:
1.第一次访问Servlet时,服务器就会创建一个Servlet实例,Init方法就会被调用。
2.重复访问也只会重复执行Service方法。不会重复的创建Servlet实例。
3.在Service中根据不同的请求方式,会调用不同的doxx方法。
4.Serlvet在服务器中被移除,或者关闭服务器时,Servlet实例就会被销毁,destroy方法就会执行

Servlet的配置方式:
1.完全路径匹配,     如/demo1,/aaa/bbb
2.目录匹配        如/* /aaa/bb*
3.扩展名匹配:        如*.do或者*.jsp
匹配优先级:完全路径匹配>目录匹配>扩展名匹配

实现5秒跳转案例:
1.可以通过Refresh实现定时跳转,通过设置程序头信息。
    response.setHeader("Refresh", "5;url=/jsp/index.html");
2.可以通过js实现读秒跳转效果
   response.setHeader("Location", request.getContextPath()+"/jsp/success.jsp");
    在success.jsp中
   <meta http-equiv="Refresh" content="5;url=${ pageContext.request.contextPath }/jsp/index.jsp">
    再通过js
            var time=5;
        window.onload=function(){
        setInterval(function(){
                        time--;
                        document.getElementById("s1").innerHTML=time;
                },1000);
        }

记录网站登录成功的人数:
1.在init()方法中初始化count=0,再存入setAttribute().域中
2.每次向Servlet发出请求时,Servlet里就读取一次getAttribute(),返回到客户端,再
将count++存入Servlet中

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马