jsp调用servlet_053 JSP+Servlet整合练习:拼饭后台管理系统框架文档
项目名称:
拼饭后台管理系统
项目需求:
实现用户登录功能
实现用户退出功能
实现用户注册功能
功能分析:
用户登录:
根据用户名和密码查询客户信息。查到则登录成功,查不到则登录失败。
用户退出:
销毁session
用户注册:
将用户注册信息插入数据库
数据库设计:
用户表:t_user
用户id uid
用户名 uname
用户密码 pwd
用户性别 sex
用户年龄 age
出生日期 birthday
SQL语句设计:
用户登录:
select * from t_user where uname=? and pwd=?
用户注册:
insert into t_user values(default,?,?,?,?,?)
代码实现:
参照源码
------------------------------------------------------------
问题:
现在我们一个请求或者一个独立的业务逻辑都单独的进行一个Servlet的创建,进行请求处理。
但是一个网站的功能是非常多的,如果每个都创建单独的Servlet进行处理,这样就造成Servlet过多。
造成服务器内存资源浪费。
解决:
服务器在接收到浏览器的请求后会调用对应的Servlet进行请求处理。
然后调用Servlet中的service方法进行处理。
我们将不同功能的处理封装成不同的方法。
在service方法中调用其对应的功能处理方法进行请求处理。
这样Servlet我们只需要一个。
新的问题:
如何在service方法中如何动态的根据请求来调用对应的功能来处理?
解决:
使用反射。
注意:
请求中要附带需要执行的方法的名称。
------------------------------------------------------------
问题2:
现在使用反射我们实现了在service方法中动态的根据请求调用对应的方法进行请求处理。
但真实开发过程中,虽然不会每个功能都创建一个Servlet,但是也不会只使用一个Servlet,我们的servlet不只是一个。
一般是一个独立的功能模块一个Servlet。我们需要这些Servlet的service方法中都要将反射代码声明一遍。
解决:
向上抽取baseServlet类。
实现:
我们自己的Servlet--->
向上抽取父类(service方法)
注意:我们希望baseServlet不能被访问到(不能在web.xml中配置baseServlet)
我们希望baseServlet不能被实例化(改为抽象类)
--->HttpServlet
baseServlet使用:
1、创建Servlet继承baseServlet即可。
2、在自己的servlet中不要声明service方法,只需声明处理请求的方法即可。
3、正常访问我们自己的servlet即可。
注意:请求必须附带要被执行的方法名。
----------------------------------------------------------------
JSP+Servlet项目整合练习总结和期望:
总结:
1、套用模板进行页面快速构架
在自己的项目中创建jsp文件
然后将模板中的前端相关代码复制到自己的jsp文件中。
将静态资源复制到webroot下。
2、MVC开发流程
M:Model service dao pojo
V:View jsp css js html
C:Controller servlet
3、Servlet+jsp+jdbc的功能开发流程
1、浏览器发起请求直接给jsp
2、浏览器发起功能请求给servlet,servlet调用service,service进行业务处理,
service调用dao,dao层进行数据库操作(jdbc),dao层将处理结果返回给service,
service再将结果返回给servlet,请求转发或者重定向给jsp,
(或者继续请求转发或重定向其他servlet继续处理)jsp做出页面的响应。
4、request和session作用域的使用
request:请求转发流转数据的载体
session:重定向的数据流转的载体(但是session可以解决同一用户不同请求的数据共享问题)
5、浏览器发起请求到服务器 请求发起的方式(重点记忆)
非ajax请求:
form表单提交:action为数据提交地址,method为数据提交方式
超链接标签:href为数据提交地址,可以直接使用?拼接请求数据,类似form表单的get请求方式。
js中的window.location.href:href为数据提交地址,可以直接使用?拼接请求数据,类似form表单的get请求方式。
注意:
使用以上请求方式发起的请求,浏览器在接收到响应内容后会将原有内容覆盖,显示响应结果。
6、BaseServlet的抽取和使用
反射
抽象类
------------------------------------------------------------------------------
项目缺陷:
1、在JSP中获取从servlet中流转过来的数据特别麻烦
2、在JSP页面中使用java代码块进行逻辑处理书写和阅读极不方便
3、使用session进行数据流转是很方便的,但是session失效了,所有依赖session的功能都会失效
4、响应结果都是覆盖原有内容显示给用户
jsp调用servlet_053 JSP+Servlet整合练习:拼饭后台管理系统框架文档相关推荐
- jsp调用其他jsp中的js代码
前言 在熟悉代码时,随便选了一个按钮,规则导出的功能. 在使用F12进行debug时,发现被调用的js方法和按钮不在一个jsp页面中,感觉很神奇的调用了! 正文: 第一阶段: 通过F12查看调用的路径 ...
- jsp 调用html,jsp怎么调用css样式?
添加css样式会让你的jsp页面看上去更引人注目,更美观.那是如何在jsp中调用css样式的呢?下面本篇文章给大家介绍一下.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 在jsp页 ...
- jsp SpringMVC 前台页面集成Markdown编辑器及在页面上实现文档编辑保存预下载
首先在官网下载文档编辑插件 插件项目地址:Editor.md - 开源在线 Markdown 编辑器 将下载好的的插件项目解压,把解压好的包拷贝到我们项目的 webapp-static静态资源文件下. ...
- 计算机毕业设计java+jsp鲜花销售商城信息网站(源码+系统+mysql数据库+Lw文档)
项目介绍 花卉,是人们生活的调剂品,它为人们的生活添加了更多的色彩和味道.花卉市场是一个对花卉进行集中展示和销售的地方,它有琳琅满目的花卉让人们去选择和购买.相对应的他在管理程度上也有一定的复杂性.如 ...
- springcloud微服务整合/集成swagger(knife4j-小刀)实现在线文档调试和查看功能
1.在gateway网关层加入以下依赖 <dependency><groupId>com.github.xiaoymin</groupId><artifact ...
- [FLASH IDE] [教程]Flash处理外部XML文档数据详细教程[ASP,JSP]
准备: 首先你得有台电脑.其次是要装上Windows系统和Flash8. XML基础: 既然是处理XML文档.就要先来了解下XML文档.下面是我所了解的,有些是在Flash中用不到的. XML扩展标记 ...
- JAVA调用PageOffice在线打开、编辑Word文档
普通的MS Office Word只能在本地磁盘上打开和编辑保存,这使得程序员在开发项目时受到很多的约束,许多的功能无法实现或者无法达到理想的效果. 下面我就简单的和大家分享一下如何实现Word文档的 ...
- java 调用office_JAVA调用PageOffice在线打开、编辑Word文档
普通的MS Office Word只能在本地磁盘上打开和编辑保存,这使得程序员在开发项目时受到很多的约束,许多的功能无法实现或者无法达到理想的效果. 下面我就简单的和大家分享一下如何实现Word文档的 ...
- Qt文档阅读笔记-共享库的创建与调用
使用共享库的符号 这个符号可以作用在变量.类.函数中,并且这些都可以被调用端使用. 在编译共享库中,需要使用export符号.在使用端调用的时候使用import符号. 这里是本人从文档中记录的笔记,大 ...
最新文章
- 特斯拉 model3 没有信号_Model 3在北京失控撞人,特斯拉:未发现任何系统故障
- 《 自动化测试最佳实践:来自全球的经典自动化测试案例解析》一一1.6 正确度量...
- Centos7 安装 tomcat9 后访问慢且 shutdown.sh 报错,提示 8005 端口未启用
- 散列表(哈希表)工作原理 (转)
- 百度顶会论文复现(2):GAN综述
- wow工程修理机器人图纸_工程的修理机器人图纸是哪里弄来的……
- YYH算组合数(NOIP模拟赛Round 6)
- SpringBoot(13)--- 数据库操作(集成MyBatis)
- 简述导线平差计算的五个步骤_RTK技术导线测量和全站仪导线测量有什么区别?...
- 工作5年后才明白:不起眼的技能中,藏着你的未来
- BUPT复试专题—最小距离查询(2013)
- maven 里的 repositories里空的_IntelliJ IDEA 结合 maven通过profile实现多环境
- html里面布局的优劣,HTML与CSS布局技巧总结
- linux中安装yum简单方法
- MySQL数据库锁机制
- GB50174《电子信息系统机房设计规范》(福建)贯标培训通知
- php调京东联盟接口,使用京东联盟API获取自定义促销链接
- 十个值得所有极客收藏的网站
- 计算机提示无法识别优盘,插入U盘显示无法识别怎么办
- vue3响应式原理-effect
热门文章
- XML_CPP_资料_libXml2_01
- 第一个简单APP设计图
- PowerShell 转码函数 Default-UTF8
- NSUserDefault的使用
- Java打包生成exe(使用exe4j和inno setup)
- (TOJ1248)Encoding
- 缺少ncurses包的解决办法
- CentOS 7.5 安装Zabbix4.4.4和Grafana6.4.4监控系统安装
- kettle 连接 Oracle 异常
- MyEclipse中解决“Save could not be completed”问题!