Servlet与MVC分层开发

来源:互联网 发布:mac os 重装系统 编辑:程序博客网 时间:2024/06/05 19:32

处理数据的业务逻辑servlet与开发分层

一、处理数据的业务逻辑servlet

 

1Servlet是什么

    1.1Servlet是运行在tomcat服务器端的一个java程序;

2Servlet能干什么

   2.1Servlet通过http(超文本传输协议)来接收和响应web客户端(浏览器)的请求

3servlet的生命周期

①初始化(出生):init()

--没有设置load-on-startup: 有访问请求服务器资源的时候执行

    --设置load-on-startup=2:启动的优先级,值越小优先级越高,服务器启动该 方法执行;

--只执行一次

②运行:service()

--一定是访问的情况下执行:执行多次

--方法的含义:由 servlet容器调用,以允许 servlet响应某个请求

--通过doGet参数放到请求的头,故有长度限制)还是doPost方法处理请求(参数放到请求体中,故无长度限制

③销毁:destroy()

--回收占用资源(比如内存、文件句柄和线程),一次;servlettomcat服务器取出的时候执行;

    --方法的含义:由 servlet容器调用,指示将从服务中取出该 servlet

 

4servlet执行顺序

web客户端(浏览器)http://主机名:端口号/项目名

tomcat服务器

③根据访问的地址名在tomcat服务器去查找项目;

④在项目中查找web.xml

⑤在web.xml找到servlet()(doGetdoPost都有参数request,response)处理请求;

⑥给web客户端(浏览器)一个响应;

 

 

5、映射地址

servlet注册:web.xml: <Servlet>

       <Servlet-name></Servlet-name>

   <Servlet-class></Servlet-class>

       </Servlet>

       <Servlet-mapping>

   <Servlet-name></Servlet-name>

   <url-pattern></url-pattern>

   </Servlet-mapping>      

 

②一个servlet有多个访问映射路径:

   A*.do(do随意更改)

   B/* (随意目录文件之分)   

   C/aaa/*  (随意目录文件之分)

   优先级:cba

 

6servlet处理请求

servlet处理请求主要是基于servletRequestservletResponse对象的。采用了转发和重定向的思想。转发只发生在服务端,客户端是不知道的,不涉及重新发送请求的问题,所以数据不会被冲刷掉,request数据共享;而重定向,则是将处理到一定程度的数据回发给客户端后,再次建立一次新的请求,上次请求中request对象中的数据信息不会保留





7cookie(客户端)与session(服务器端)

①会话

用户打开一个浏览器到关闭浏览器,此过程成为一个会话

 

cookie

设置cookie

 Cookie cookie = new Cookie("name", "value");

     cookie2.setMaxAge(3000);//cookie存活时间

 response.addCookie(cookie);

 

获取cookie

    Cookie[] cookie = Request.getCookies();//获取出来的是一组cookie对象

 

session

设置session

HttpSession session = req.getSession();//获取session对象

     session.setAttribute(key,value);

 

获取session
session.getAttribute(key);

 

 

9个内置对象:

request,sessionresponse, outapplication ,page,pageContext,config,exception;

常用的:request(同意一次请求),pageContext(当前页),session(全局)

 

⑤四大域对象:

jsp

servlet

page

pageContext

request

HttpServletrequest

session

session

application

ServletContext

 

 

 

二、开发分层

 

①分层思想客户端URL访问 --->表示层JSP--->servlet(控制器:1、获取请求参数2、调用业务逻辑3、分发转向)--->业务层(调用业务逻辑层:service处理数据)--->数据访问层dao--->dbMySQL