`
gxhslcww
  • 浏览: 76878 次
  • 性别: Icon_minigender_1
  • 来自: 南通
社区版块
存档分类
最新评论

java Bean 编程 笔记

阅读更多
12月4日
什么是Java Bean?
JavaBean是一种可重复使用,跨平台的软件组件.,JavaBean主要分为两种:
1 有用户界面:UI
2 无用户界面:主要负责处理事物(数据运算,操作数据库)
JSP使用的是第二种
JSP+Java Bean的特点:
1 可以让HTML与Java程序分离
2 降低开发JSP网页人员对Java编程能力的要求
3 JSP侧重与动态网页,事物处理由JavaBean完成
JavaBean特性:
1 JavaBean是一个公共的(public)类
2 JavaBean有一个无参的构造方法
3 JavaBean通过getxxx方法或setxxx方法交互
在JSP中声明JavaBean:
<jsp:useBean>标签来声明,示例:
<jsp:useBean id=”myBean” class=”package.MyB” scope=”page” />
id:代表对象的变量名
Class:代表类名
Scope::指定JavaBean对象范围,在指定的范围内如果对象不存在,则会创建这个JavaBean对象
MyB myBean = new MyB( );
新建项目 JavaBean
src/ 建package:com.firstbean.test/HelloWorld.java
WebContent/HelloWorld.jsp
src/Student.java
Student.jsp
student_do1.jsp
student_do2.jsp
JavaBean scope参数描述
Page:(默认值)客户每次请求jsp页面时,都会创建一个JavaBean对象
有效范围:当前jsp页面
结束生命周期条件:
1 客户请求访问当前jsp网页通过<forward>到其他页面
2 当用户请求当前jsp页面结束并且向客户端发出回应(每次请求页面都会生成新的对象)
request :客户每次请求页面访问JSP页面时,都会创建新的对象
有效范围:
1 当前jsp页面
2 与当前页面共享一个请求页面:如:include,forward
结束生命周期条件:
1 当用户请求当前jsp所有页面结束并且向客户端发出回应(每次请求页面都会生成新的对象)
session:客户每次请求访问JSP页面时,会在整个session的生存周期内
有效范围:
1 同一个Session中的JSP文件共享同一个Java Bean对象
结束生命周期条件5
1 当用户关闭浏览器
application:访问JSP在整个Web应用的生命周期内
有效范围:
1 Web中的所有JSP都可以共享同一个Java Bean对象
结束生命周期条件
1 当服务器关闭
javabean需要掌握的内容:
1 什么是Javabean
2 如何编写符合的Javabean
3 如何使用Javabean,三个标签
4 Javabean的自动赋值
5 <jsp:useBean scop=””> 的四个属性值,它们的生命周期
Java Web应用程序开发模式的进化:
1 jsp+ java
2 jsp+javabean(MVC model 1)
3 jsp + servlet + javabean(Mvc model2)
4 struts(MVC)
新建项目 JSPJavaBean
         src/ com.student.db
com.student.dao
com.student.domain
com.student.util
WebContent/
Student.jsp
Student_do.jsp
练习:
使用JSP + Javabean + DAO + JNDI
实现用户的注册和登录功能
要求:注册的密码使用MD5进行加密码保存
细节:
1 验证的时候要使用密文对密文的方式进行比较
2 用户登录成功后显示呢称,不显示id
为什么需要MD5加密:
angel   123
MD5是一种加密算法特点:
同样的输入,具有同样的输出32个字节
它无法逆破解,只能穷举破解
12月10日
1 什么是Servlet
Java Servlet是与平台无关的服务器端组件,Servlet和客户的通信采用“请求(request)/响应(response)的模式
2 Servlet  API的构成:
Servlet的框架的核心是java.servlet.Servlet接口,所有的Servlet都必须实现这一接口
3 Servlet的种类:
3.1 获得请求,响应客户端
3.2 Filter     //过滤器
3.3 Listener   //监听器
4 Servlet接口中的3个方法代表了Servlet的生命周期:
Init( ):
方法只会被调用一次
一般文件夹的打开,数据库的连接,复位计数器等可选的方法,可不写
若执行不成功,则抛出unavailableException异常
service( ):
是Servlet的核心,Servlet引擎调用该方法处理来自浏览器的请求
是事实上唯一需要实现的方法,不要覆盖这个方法!
init( )与service( )的区别:

destroy( ):
如何实现Servlet?
1 extends Http Servlets
2 配置web.xml
新建项目 FirstServlet
com.servlet
URLMappings:代表访问Servlet的路径
在继承HttpServlet中覆盖的方法:
1 doGet(HttpServletRequest request, HttpServletResponse response)
代表当这个Servlet得到客户端GET请求的时候,自动被调用的方法
2 doPost(HttpServletRequest request, HttpServletResponse response)
代表当这个Servlet得到客户端POST请求的时候,自动被调用的方法
体验Servlet的生命周期:
Servletlife
练习:
ServletTable功能为打印一个表格
体验:使用Servlet进行HTML的编写过于复杂,所以Servlet替代JSP不可能的
练习:
使Servlet接受表单数据
src/ServletForm.java(servlet)
webContent/ FormLogin.jsp
           success.jsp
           error.jsp
体验:使用Servlet可以方便的接收客户端的请求,可以顺利的将纯Java代码从JSP中分离出来
通过两个练习,体验到Servlet在实际开发中,主要承担着
1接收用户消息
2判断用户(使用javabean)
3 路径跳转
问题:
在Servlet中进行服务器端跳转无法实现?
这样Servlet中传递的参数无法使其他页面准确获得
解决:
javax.servlet.RequestDispatcher          //接口实现服务器跳转相当于<jsp:forward />
固定的使用方法:
RequestDispatcher rd = request.getRequestDispatcher(“XXX.jsp”);
Rd.forward(request, response);
JSP和Servlet的选择:
JSP的优点和缺点:
优点:易学,编写容易
缺点:Java代码与HTML代码混合
Servlet的优点和缺点:
优点:是Java类,不存在代码混合
缺点:配置维护麻烦
今天的目标:
1 Servlet的重要接口javax.servlet.Servlet
2 Servlet的生命周期方法
3 init( )和service( )方法的区别
4 Servlet的种类
5 Servlet的编写方式
6 Servlet数据接收
7 Servlet与JSP的特点
8 Servlet实现服务器跳转
12月11日
Servlet 过滤器
什么是Servlet过滤器?
Servlet过滤器是在Java Servlet规范2.3中定义的,它能够对Servlet容器的请求和响应对象进行检查和修改
Servlet过滤器特点:
1 检查和修改ServletRequest和ServletResponse对象
2 可以被指定和特定的URL关联,只有当客户请求访问该URL时,才会触发过滤器
3 可以被串联在一起,形成管道效应,协同修改请求和响应对象
如何实现Servlet过滤器?
所有的Servlet过滤器类都必须实现javax.servlet.Filter接口,这个接口含有3个过滤器类必须实现的方法:
1 init(FilterConfig):
这是Servlet过滤器的初始化方法,Servlet容器创建Servlet过滤器实例后将调用这个方法。在这个方法中可以读取web.xml文件中的Servlet过滤器的初始化参数
2 doFilter(ServletRequest, ServletResponse,FileterChain):
这个方法完成实际的过滤操作,当客户请求访问于过滤器关联的URL时,Servlet容器将先调用过滤器的doFilter方法。FilterChain参数用于访问后续过滤器
3 destroy( ):
Servlet容器在销毁过滤器实例前调用该方法,这个方法中可以释放Servlet过滤器占用的资源
新建项目   ServletFilter
体验:Servlet Filter
让Filter进行字符编码的转换
src/Login_do.java    //servlet
   EncoderFilter.java
   URL:: /*  //对当前网站下所有的消息进行过滤
WebContent/Login.jsp
字符串过滤器
src/StringFilter.java
WebContent/Login.jsp
新建StringFilter.java时,到点Add按扭添加禁语英文加中文
细节:使用eclipse EE进行servlet删除操作的时候,需要到web.xml手工删除对应的配置标签
练习:
实现一个登录验证过滤器,当用户访问admin/目录的时候,过滤器启动,检测有没有合法的session,如果有就服务器跳转到success.jsp,如果没有就客户端跳转login.jsp
项目 LoginFiter
src/EncoderFilter.java
   LoginFilter.java
   Login_do.java
WebContent/login.jsp
           admin/success.jsp
                 admin.jsp
今天的目标:
1 过滤器的作用
2 EncoderFilter.java
3 StringFilter.java
4 LoginFilter.java
12月12日
application对象对应于javax.servlet.ServletContext接口
新建项目 ServletListener
ServletContext.java         //Listener
ListerTest.jsp
Sevlet Listener:
可以监听application, session, request在页面中的变化
applicatin的监听器为:
ServletContextListener            //生命周期
ServletContextAttributeListener    //属性
练习:
监听Session的属性的添加,删除,替换
SessionListenerTest.java
SessionListenerTest.jsp
Session的监听器为:
HttpSessionListener               //生命周期
HttpSessionAttributeListener        //属性
Request监听器为:
ServletRequestListener             //生命周期
ServletRequestAttributeListener      //属性
实现监听器的步骤:
1 当前的servlet必须继承并且对应的监听接口
2 配置web.xml
<listener>
<listener-class>ServletContext.ServletContext
</listener-class>
</listener>
servlet总结:
实际上servlet就是通过用户请求的地址(URL),再由服务器映射到对应的java程序中的一种Web技术
Servlet有三种类型:
1 普通的Servlet extends HttpServlet:
它的作用就是接收用户请求,判断用户请求
2 Filter过滤器
3 Listener监听
2 MVC Web开发模式:
模型(M)---视图(V)---控制器(C) (Model-View_Ocntroller)
它是为那些需要为同样的数据提供多个视图的应用程序而设计的,它很好地实现了数据层与表示层的分离,特别适用于开发与用户UI有关的应用程序
MVC简介:
控制器:用来处理用户命令以及程序事件(servlet)
模型:维护数据并提供数据访问方法(dao)
视图:数据的显示/(jsp)
MVC(jsp servlet..)设计特点:
1 适合团队开发,分工明确
2 便于日后维护
3 配置及设计相对jsp+ javabean复杂
练习:目标掌握jsp+servlet+javabean
MVC的Web开发模式
功能实现对Student表的增,删,改,查
实现登录,注册
三个模块:
1 登录
2 注册
3 Student的操作
分析:
1 根据需求搜集数据,建立数据库
create database mvcdeom;
create student;
create user;
2 分析模块的实现:
2.1 登录
2.2 注册
WebContent/xxx.jsp
Src/com.student.servlet;
xxx_do.java
访问javabean---访问数据库
2.3 Student的操作
控制器的原则:servlet
1 接收用户请求(错误判断)
2 访问java bean
3 判断 javabean的返回值
4 发送请求给客户端(页面跳转)
package com.student.domain;    映射类
User.java
package com.student.dao;       DAO设计模式实现
IUserDAO.java
UserDAOImpl.java
UserDAOFactory.java
package com.student.db;        JNDI连接池
MyDBConnection.java
package com.student.util;      
UserUtil.java                 关闭数据库连接
EncoderFilter.java             字符编码过滤器
LoginFilter.java               登录验证过滤器
package com.student.servlet;     控制器实现
package com.student.test;        测试
TestUserDAO.java
新建项目:MVCDemo
M都在src/
V在WebContent/
admin/success.jsp
login.jsp
C在src/com.student.servlet
新建servlet--à login_do.java
12月13日
MVC设计方式:
V------要将View中的Java代码分离出来
昨天MVC练习中的细节:
1 browse.jsp没有实现java和html的分离
解决:SUN提供了EL(表达式语言)
JSTL(JSP标准标签库)
2 在Web程序开发中,程序本身尽量不依赖数据库id自增值
解决:通过系统毫秒生成MD5存入数据库的ID字段
3 缺少事物处理机制
如果是:MySQL需要InnoDB
解决:con.setAutoCommit(false);            //SQL
comm..commit();
catch(SQLException e){
conn.rollback();
}
MVC编写过程:
1 使用DAO+ Factory编写M
M的职能:操作数据库
2 到test包对M进行尽可能完善的测试
3 到WebContent编写JSP V
V的职能:得到数据,显示数据
4 到com.xxx.servlet包编写 C
C的职能:得到数据,判断数据,调用M 发送数据给V
Expression Language(表达式语言)
EL主要功能:
访问存储对象
对JavaBean的简化访问
对集合的简化访问
简单运算符
条件输出
EL基础语法:${expression}
在JSP中禁用计算,以忽略JSP中EL表达式的执行
禁用EL,计算的语法为:
<%@ page isELIgnored=”true | false” %>
新建项目:ELTest
ELTest.jsp
form.jsp
EL的默认取值范围:
pageScope
requestScope
sessionScope
applicationScope
//称为EL的隐含对象
param.
遍历list:
注:EL没有遍历功能
需要JSTL
配置JSTL:
在tagplugin文件夹中
jstl.jar
standard.jar
使用JSTL的步骤:
1配置JSTL:
在tagplugin文件夹中
jstl.jar
standard.jar
2 在jsp页面中使用
<% @taglib  %>
//导入标签库
注意重要的字段为:prefix = “c”
prefix为标签库的标识
3 使用标识:
<c:forEach>
分享到:
评论

相关推荐

    Java优化编程(第2版)

    Java优化编程(第2版)通过丰富、完整、富有代表性的实例,展示了如何提升Java应用性能,并且给出了优化前与优化后的Java应用程序的性能差别,以实际的实例与数字告诉你,为什么不可以这么做,应该怎么做,深入分析...

    Java/JavaEE 学习笔记

    Java/JavaEE 学习笔记 作者在杰普学习时的学习笔记,是J2ee初学者必备手册,是大家学习J2EE开发的很好的参考笔记。 Java/JavaEE 学习笔记 内容目录: Unix 学习笔记..........7 一、Unix前言............7 二、...

    水木清华站∶Java版精华区 含jsp及js等集合.chm

    [目录]Java学习笔记(推荐) 6. [目录]JDBC文档 7. [目录]RMI 文档 2. [目录]Java资源(文档-书籍-下载-注册码) 1. [目录]License 和注册码 2. [目录]好书推荐 3. [目录]关于Java的...

    Java学习笔记-个人整理的

    {9}Java网络编程}{135}{chapter.9} {10}反射}{141}{chapter.10} {10.1}Class}{141}{section.10.1} {10.1.1}Field}{145}{subsection.10.1.1} {10.1.2}Method}{145}{subsection.10.1.2} {10.1.3}Constructor}{...

    spring课堂笔记.docx

    核心概念:深入探讨了 Spring 的核心概念,如控制反转(IoC)和面向切面编程(AOP),以及它们如何改善应用程序的设计和结构。 Spring 容器:介绍了 Spring 容器的不同类型,包括 BeanFactory 和 ...

    spring项目开发学习笔记

    Spring是一个轻量级的DI/IoC和AOP容器框架。存在的目的是用于构建轻量级的J2EE应用。 轻量级:应用大小和应用开支,包括应用方式 依赖注入DI/IoC控制反转:提供松...重量级,EJB,enterprice java bean,分布式javabean

    J2EE学习笔记(J2ee初学者必备手册)

    Core Java学习笔记...........31 第一章 JAVA前言..31 第二章 标识符,关键字,类型........35 第三章 表达式与流控制....................41 第四章 数组.............50 第五章 对象和类(OO思想).........53 第...

    谷歌师兄的leetcode刷题笔记-JavaNote:javaesguavajdkjdk8jsonlombokmdthreadjvmsprin

    谷歌师兄的leetcode刷题笔记 请叫我大师兄 Java Note Project 项目结构目录 bean 统一存放一些测试使用的model的bean,enum... 设计模式 简要说明 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码...

    swing界面设计之JTree

    (十) JAVA swing编程JTree实现系统目录 77 FileTree1.java源代码 77 (十一) Java Swing中的JTree模型 85 Swing.tree包中的主要类名称实现 85 1. 构建树模型 86 2. 树结点 86 树结构详细类图 86 2.1 TreeNode接口 86 ...

    ZhiShan-zh.github.io:互联网开发工程师知识笔记

    开发笔记 1 Java 1.1 Java 关键字解释:▣ 类的管理:▣▣▣ 反射机制:▣▣ 网络编程:▣ JAVA8新特性: Java消息服务Java Message Service: 1.2 JVM-HotSpot 虚拟机监控工具:虚拟机监控工具概述▣Attach 机制▣...

    springmybatis

    而且也比较轻量级,因为当时在项目中,没来的及做很很多笔记。后来项目结束了,我也没写总结文档。已经过去好久了。但最近突然又对这个ORM 工具感兴趣。因为接下来自己的项目中很有可能采用这个ORM工具。所以在此...

    【2019版】Spring4.3入门视频课程

    bean生命周期、实例化bean的方式和时机、bean的作用域、继承配置 .自动装配、FactoryBean、两种后处理器 二、Spring AOP AOP简介、实现原理、代理技术 Spring AOP的配置实现 AspectJ表达式 三、Spring注解配置 注解...

    spring-demo:Spring框架学习与分析研究,附带可运行的引用示例,创建这个仓库的初衷,是因为网上的内容太碎片化了,我尝试来一个集大成者,在一个地方就能弄清楚所有的问题

    Spring学习笔记 这是一个Spring框架应用示例工程,里面写了大量的注释,对于我们理解和掌握Spring的一些关键特性是非常有帮助的。 这也是我学习和理解Spring的一个过程,分享出来给有这方面需求的同学快速入门,希望...

Global site tag (gtag.js) - Google Analytics