JavaBean和Servlet
文章目录
- JavaBean
- 通俗的讲
- JavaBean的作用
- JavaBean(就是一个Java类)的定义
- 使用层面,Java分为2大类:
- Servlet
- 回顾纯手工方法创建第一个Servlet
- 借助于Eclipse快速生成Servlet
- Servlet3.0,与Servlet2.5的区别:
- 项目根目录:WebContent、src(所有的构建路径)
- Servlet生命周期:5个阶段
- Servlet API
- Servlet继承关系
- Servlet使用层面
JavaBean
通俗的讲
我们将 jsp中登录操作的代码 转移到了LoginDao.java;
其中LoginDao类 就称之为JavaBean。
JavaBean的作用
a.减轻的jsp复杂度
b.提高代码复用(以后任何地方的登录操作,都可以通过调用LoginDao实现)
JavaBean(就是一个Java类)的定义
满足一下2点 ,就可以称为JavaBean
a.public 修饰的类 ,public 无参构造b.所有属性(如果有) 都是private,并且提供set/get (如果boolean 则get 可以替换成is)
使用层面,Java分为2大类:
a.封装业务逻辑的JavaBean (LoginDao.java封装了登录逻辑)
逻辑可以将jsp中的JDBC代码,封装到Login.java类中 (Login.java)
b.封装数据的JavaBean (实体类,Student.java Person.java )
数据对应于数据库中的一张表
Login login = new Login(uname,upwd) ;//即用Login对象 封装了2个数据(用户名 和密码)
封装数据的JavaBean 对应于数据库中的一张表 (Login(name,pwd)) 封装业务逻辑的JavaBean 用于操作
一个封装数据的JavaBean可以发现,JavaBean可以简化 代码(jsp->jsp+java)、提供代码复用(LoginDao.java)
public void sleep(String name,String place, int time)
{}public void sleep(Person per)
{per.getName()per.getPlace()...
Servlet
回顾纯手工方法创建第一个Servlet
编写一个类,继承HttpServlet
重写doGet()、doPost()方法
编写web.xml 中的servlet映射关系
借助于Eclipse快速生成Servlet
直接新建Servlet即可!(继承、重写、web.xml 可以借助Eclipse自动生成)
Servlet3.0,与Servlet2.5的区别:
Servlet3.0不需要在web.xml中配置,但 需要在 Servlet类的定义处之上编写
注解@WebServlet(“url-pattern的值”) 匹配流程: 请求地址 与@WebServlet中的值
进行匹配,如果匹配成功 ,则说明 请求的就是该注解所对应的类
项目根目录:WebContent、src(所有的构建路径)
例如:
WebContent中有一个文件index.jsp
src中有一个Servlet.java
如果: index.jsp中请求 <a href="abc">...</a> ,则 寻找范围:既会在src根目录中找 也会在WebContent根目录中找
如果:index.jsp中请求<a href="a/abc"></a>,寻找范围:先在src或WebContent中找a目录,然后再在a目录中找abc
web.xml中的 /:代表项目根路径
http://localhost:8888/Servlet25Project/
jsp中的/: 服务器根路径
http://localhost:8888/
构建路径、WebContent:根目录
Servlet生命周期:5个阶段
加载
初始化: init() ,该方法会在 Servlet被加载并实例化的以后 执行
服务 :service() ->doGet() doPost
销毁 :destroy(), Servlet被系统回收时执行
卸载
init():
a.默认第一次访问 Servlet时会被执行 (只执行这一次)
b.可以修改为 Tomcat启动时自动执行
i.Servlet2.5: web.xml
<servlet>...<load-on-startup>1</load-on-startup></servlet>//其中的“1”代表第一个。//ii.Servlet3.0@WebServlet(value="/WelcomeServlet" ,loadOnStartup=1)
service() ->doGet() doPost :调用几次,则执行几次
destroy():关闭tomcat服务时,执行一次。
Servlet API
由两个软件包组成: 对应于HTTP协议的软件包、对应于除了HTTP协议以外的其他软件包
即Servlet API可以适用于任何通信协议。
我们学习的Servlet,是位于javax.servlet.http包中的类和接口,是基础HTTP协议。
Servlet继承关系
ServletConfig:接口
ServletContext getServletContext():获取Servlet上下文对象 application
String getInitParameter(String name):在当前Servlet范围内,获取名为name的参数值(初始化参数)
ServletContext中的常见方法(application):
getContextPath():相对路径
getRealPath():绝对路径
setAttribute() 、getAttribute()
String getInitParameter(String name);在当前Web容器范围内,获取名为name的参数值(初始化参数)
Servlet3.0方式 给当前Servlet设置初始值:
@WebServlet( .... , initParams= {@WebInitParam(name="serveltparaname30",value="servletparavalue30") })
注意,此注解只 隶属于某一个具体的Servlet ,因此无法为 整个web容器设置初始化参数 (如果要通过3.0方式设置 web容器的初始化参数,仍然需要在web.xml中设置)
HttpServletRequest中的方法:(同request),例如setAttrite()、getCookies()、getMethod()
HttpServletResponse中的方法:同response
Servlet使用层面
Eclipse中在src创建一个Servlet,然后重写doGet() doPost()就可以 (doGet() doPost()只需要编写一个)
JavaBean和Servlet相关推荐
- JSP中javaBean和Servlet理解
以前,没接触JAVA开发,总以为javabean和servlet很神奇,很怪,很复杂,现在找了本JSP的很基础的书看了,对于它们的大概总算了解了. javaBean可以说就是一个JAVA类,只不过它有 ...
- javaBean和Servlet的区别
可以像使用一般的类一样使用JavaBean,Bean只是一种特殊的类.特殊在可以通过<jsp:useBean />调用JavaBean.而其他类,可以和一般java中一样使用. Bea ...
- 简单留言管理平台实现中 包含的 MVC,另:javabean和servlet的区别
首先,JavaBean和Servlet虽都是Java程序,但是是完全不同的两个概念. 引用mz3226960提出的MVC的概念,即M-model-模型:JavaBean:V-view-表现:JSP页面 ...
- JSP的MVC模式(JavaBean、Servlet、JSP)
JSP的MVC模式中,Model=JavaBean,View=JSP,Controller=Servlet. 简而言之:JavaBean用于存储数据,JSP用于显示页面,Servlet用于处理数据(脏 ...
- 图示管理系统(还书、续借、预约功能)jsp+JavaBean+JDBC+servlet+Dao
先在MySql中建一个数据库其中包含三个表,一个book表,一个user表,一个info表 jsp界面只输入图书号,按图书号还书,续借,预约 JavaBean中写了book类,info类,user类, ...
- JSP+JavaBean+Servlet工作原理实例…
JSP+JavaBean+Servlet工作原理实例讲解 首先,JavaBean和Servlet虽都是Java程序,但是是完全不同的两个概念.引用mz3226960提出的MVC的概念,即M-model ...
- java和jsp交互 structs_Struts与jsp+javabean+servlet区别
采用Struts框架技术和直接使用jsp+javabean技术开发各有什么优势?各自的缺点又是什么? 在Javaweb开发领域存在2种开发模式, 模式一,jsp+javabean 模式二,jsp+ja ...
- jsp、servlet与javabean的区别180110
[段落一]为什么要用javabean和servlet而不是只用jsp?以及jsp.servlet与javabean在做什么 相同点 javabean和servlet 它们都是.java文件,都要编译成 ...
- JSP对象,JavaBean,Servlet简易教程
第一部分:jsp内置对象 1. request对象.application对象的综合应用,做一个简易的留言板:多个人多时打开网站,发表留言后,可以看到大家共同的留言列表: 网站首页index.jsp, ...
最新文章
- linux c实现函数回调,c语言实现linux抓包
- ToString()的格式设置
- 今天注册了CNBLOG
- 双面黄琳:世界顶级女黑客,两个孩子的迟钝妈妈
- Go语言JSON与Byte[]转化
- 用信号量解决进程的同步与互斥
- 2字节十六进制浮点数 qt_Qt之8个字节转化为double小数
- 信息安全工程师笔记-网络攻击常见技术
- MATLAB学习笔记(十七)
- 编译 linux 0.01
- 百度CTO王海峰出席科协年会重头论坛,展现智能云产业智能化硕果
- Mac连接路由器后没有反应_路由器安全技术——黑白名设置三步法
- matlab 计算对数似然相似度
- FFMPEG详细参数
- 数字图像处理第二章——数字图像基础
- 【18】CSS基础(3)——理解层叠式
- python 将单词分割成字母_Python基于分隔符单词拆分列表
- Flutter事件分发
- 2015数据库年度盘点
- Solr--Solr 使用SolrJ 完成添加,删除,查询
热门文章
- java字节码文件加密_java 字节码加密源码
- 台账软件测试自学,测试情况汇总.docx
- editor.md 实现拖拽剪切复制粘贴上传图片,文件插件
- 第二篇:Spring Boot 热部署
- 解决sonar scanner扫描报错Please provide compiled classes of your project with sonar.java.binaries property
- org.apache.ibatis.reflection.ReflectionException: There is no getter for property named XXX
- hibernate 复合主键 根据主键删除_Python 之 MySql“未解之谜”11--主键 id 那些事
- 计算机检索技术与技巧的检索式为,第四章计算机检索技术和数据库检索方式.ppt...
- 折线图x轴的日期会超出_matplotlib之折线图(代码+解析)
- C语言 数组定义和使用 - C语言零基础入门教程