【Servlet】Servlet与MVC分层开发
处理数据的业务逻辑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 |
④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分层开发相关推荐
- MVC分层+JDBC+数据库+Servlet实现JSP文件上传和显示+模糊查询+分页
本文章主要介绍了一个简单的实例:用简单的MVC分层思想,使用数据库在web界面进行增删改查,以及上传,模糊查询+分页的实现. 1.util层(数据库连接管理) :连接数据库需要导包:mysql-con ...
- javaweb应用的MVC分层,开发太方便了!!!
javaweb应用的MVC分层 让我们先来了解一下,MVC开发模式的组成吧!!! 看完这张图,你有什么看法,知道了这样的开发模式后,动手创建一个工程吧!!! 如图是根据上图创建的一个实例: 当然有很多 ...
- web框架的前生今世--从servlet到spring mvc到spring boot
背景 上世纪90年代,随着Internet和浏览器的飞速发展,基于浏览器的B/S模式随之火爆发展起来.最初,用户使用浏览器向WEB服务器发送的请求都是请求静态的资源,比如html.css等. 但是可 ...
- JSP+JavaBean+Servlet技术(MVC模型)
一,Servlet开发 用户在浏览器中输入一个网址并回车,浏览器会向服务器发送一个HTTP请求.服务器端程序接受这个请求,并对请求进行处理,然后发送一个回应.浏览器收到回应,再把回应的内容显示出来.这 ...
- java servlet jsp javabean关系图,一个关于javaBean+servlet+jsp的MVC架构有关问题
当前位置:我的异常网» Java Web开发 » 一个关于javaBean+servlet+jsp的MVC架构有关问题 一个关于javaBean+servlet+jsp的MVC架构有关问题 www.m ...
- JSP、Servlet和Spring MVC
今年刚接触JavaWeb的时候碰巧认识了一帮老师做后端的哥们,我俩平时用的最多的也都是Java. 我:"老哥,我想给我那个项目做一个服务器应用程序,怎么搞啊" 老哥:"S ...
- MVC的开发模式简单介绍
MVC的开发模式简单介绍 MVC M model 模型 实体类和业务和dao dao(数据库访问对象) V view 视图 jsp C controller 控制器 servlet 作用:视图和逻辑分 ...
- MVC:开发模式及其优缺点
MVC:开发模式 1. jsp演变历史 1. 早期只有servlet,只能使用response输出标签数据,非常麻烦 2. 后来又jsp,简化了Servlet的开发,如果过度使用jsp ...
- java mysql分层_java学习(十三)采用MVC分层思想实现转账功能
本文只要使用mvc分层思想完成转账操作.一旦转账之后,汇款人和收款人的金额发生变化.因此,过程中必须采用事务管理. 1.MVC思想 1.1 发展历程 1.1.1 servlet 缺点:生成html内容 ...
最新文章
- 防火墙连接的三个端口
- find——文件查找命令 linux一些常用命令
- nodejs 开发,手把手开始第一个服务器程序(原生)
- ORACLE 各种闪回操作
- 中国历史上影响最大的10首诗
- Golang之Channel的理解与应用
- 升级http到https
- 绝缘检测是什么? 绝缘检测原理 绝缘检测检测的是什么?那个量?电压?电流?电阻?
- 《自己动手写网络爬虫》读书笔记——宽度优先爬虫和带偏好的爬虫
- Charles最新版破解注册方法
- 三维坐标转经纬度_地形图坐标转换小程序使用方法
- “罪魁祸首”已找到,微软回应修改 MIT 开源项目作者版权声明
- 卷积神经网络学习路线(十一)| Stochastic Depth(随机深度网络)
- 【历史上的今天】9 月 9 日:C 语言之父诞生;阿里巴巴成立
- python图片自动上色_自己实现黑白图片自动上色AI(一)
- ajaxFileUpload上传文件
- linux考试中的7654_Excel工作表G8单元格的值为7654.375,执行某些操作之后,在G8单元格中显示一串“”符号,说明G8单元格的()...
- UiPath发送包含图片或表格的邮件
- K8S教程(7)使用探针对容器进行健康检查
- 360 度考核的定义和示例
热门文章
- 最优化算法python实现篇(2)—无约束一维极值(二分法)
- Python:glob模块
- Hyperledger Fabric VS Ethereum
- unity 的资源加载问题:一旦永久释放了,就再也不能加载了
- 检索图书 FindMess.java
- nginx常用功能介绍
- [How TO]-如何使用Sphinx编写漂亮的文档
- [How TO]-ubuntu下安装selenium
- 宝塔 mysql迁移_(2020年最新方法)如何快速迁移网站?使用宝塔一键迁移转移网站数据详细教程...
- [SUCTF2018]babyre [ACTF新生赛2020]fungame