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

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

1、Servlet是什么

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

2、Servlet能干什么

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

3、servlet的生命周期

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

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

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

--只执行一次

②运行:service()

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

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

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

③销毁:destroy()

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

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

4、servlet执行顺序

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

②tomcat服务器

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

④在项目中查找web.xml

⑤在web.xml找到servlet()(doGet,doPost都有参数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/*  (随意目录文件之分)

优先级:c,b,a

6、servlet处理请求

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

7、cookie(客户端)与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,session,response, out,application ,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)---> db(MySQL)

【Servlet】Servlet与MVC分层开发相关推荐

  1. MVC分层+JDBC+数据库+Servlet实现JSP文件上传和显示+模糊查询+分页

    本文章主要介绍了一个简单的实例:用简单的MVC分层思想,使用数据库在web界面进行增删改查,以及上传,模糊查询+分页的实现. 1.util层(数据库连接管理) :连接数据库需要导包:mysql-con ...

  2. javaweb应用的MVC分层,开发太方便了!!!

    javaweb应用的MVC分层 让我们先来了解一下,MVC开发模式的组成吧!!! 看完这张图,你有什么看法,知道了这样的开发模式后,动手创建一个工程吧!!! 如图是根据上图创建的一个实例: 当然有很多 ...

  3. web框架的前生今世--从servlet到spring mvc到spring boot

    背景 上世纪90年代,随着Internet和浏览器的飞速发展,基于浏览器的B/S模式随之火爆发展起来.最初,用户使用浏览器向WEB服务器发送的请求都是请求静态的资源,比如html.css等.  但是可 ...

  4. JSP+JavaBean+Servlet技术(MVC模型)

    一,Servlet开发 用户在浏览器中输入一个网址并回车,浏览器会向服务器发送一个HTTP请求.服务器端程序接受这个请求,并对请求进行处理,然后发送一个回应.浏览器收到回应,再把回应的内容显示出来.这 ...

  5. java servlet jsp javabean关系图,一个关于javaBean+servlet+jsp的MVC架构有关问题

    当前位置:我的异常网» Java Web开发 » 一个关于javaBean+servlet+jsp的MVC架构有关问题 一个关于javaBean+servlet+jsp的MVC架构有关问题 www.m ...

  6. JSP、Servlet和Spring MVC

    今年刚接触JavaWeb的时候碰巧认识了一帮老师做后端的哥们,我俩平时用的最多的也都是Java. 我:"老哥,我想给我那个项目做一个服务器应用程序,怎么搞啊" 老哥:"S ...

  7. MVC的开发模式简单介绍

    MVC的开发模式简单介绍 MVC M model 模型 实体类和业务和dao dao(数据库访问对象) V view 视图 jsp C controller 控制器 servlet 作用:视图和逻辑分 ...

  8. MVC:开发模式及其优缺点

    MVC:开发模式 1. jsp演变历史     1. 早期只有servlet,只能使用response输出标签数据,非常麻烦     2. 后来又jsp,简化了Servlet的开发,如果过度使用jsp ...

  9. java mysql分层_java学习(十三)采用MVC分层思想实现转账功能

    本文只要使用mvc分层思想完成转账操作.一旦转账之后,汇款人和收款人的金额发生变化.因此,过程中必须采用事务管理. 1.MVC思想 1.1 发展历程 1.1.1 servlet 缺点:生成html内容 ...

最新文章

  1. 防火墙连接的三个端口
  2. find——文件查找命令 linux一些常用命令
  3. nodejs 开发,手把手开始第一个服务器程序(原生)
  4. ORACLE 各种闪回操作
  5. 中国历史上影响最大的10首诗
  6. Golang之Channel的理解与应用
  7. 升级http到https
  8. 绝缘检测是什么? 绝缘检测原理 绝缘检测检测的是什么?那个量?电压?电流?电阻?
  9. 《自己动手写网络爬虫》读书笔记——宽度优先爬虫和带偏好的爬虫
  10. Charles最新版破解注册方法
  11. 三维坐标转经纬度_地形图坐标转换小程序使用方法
  12. “罪魁祸首”已找到,微软回应修改 MIT 开源项目作者版权声明
  13. 卷积神经网络学习路线(十一)| Stochastic Depth(随机深度网络)
  14. 【历史上的今天】9 月 9 日:C 语言之父诞生;阿里巴巴成立
  15. python图片自动上色_自己实现黑白图片自动上色AI(一)
  16. ajaxFileUpload上传文件
  17. linux考试中的7654_Excel工作表G8单元格的值为7654.375,执行某些操作之后,在G8单元格中显示一串“”符号,说明G8单元格的()...
  18. UiPath发送包含图片或表格的邮件
  19. K8S教程(7)使用探针对容器进行健康检查
  20. 360 度考核的定义和示例

热门文章

  1. 最优化算法python实现篇(2)—无约束一维极值(二分法)
  2. Python:glob模块
  3. Hyperledger Fabric VS Ethereum
  4. unity 的资源加载问题:一旦永久释放了,就再也不能加载了
  5. 检索图书 FindMess.java
  6. nginx常用功能介绍
  7. [How TO]-如何使用Sphinx编写漂亮的文档
  8. [How TO]-ubuntu下安装selenium
  9. 宝塔 mysql迁移_(2020年最新方法)如何快速迁移网站?使用宝塔一键迁移转移网站数据详细教程...
  10. [SUCTF2018]babyre [ACTF新生赛2020]fungame