📄 复习7.txt
字号:
h:selectManyCheckbox
h:selectOneRadioButton
事件
f:actionListener type=""
f:valueChangeListener type=""
校验
f:validateLongRange
f:validateLength
f:validateDoubleRange
显示
编码:将组件树转化为html标签
解码:将html请求转化为组件树
转换
<f:convertDate patter="yyyy-MM-dd"/>
<f:converNumber />
jsf与struts的区别
jsf是一个细粒度的处理,支持事件
struts是一个粗粒度的处理,不支持事件
webservice作用及特点?
分布式处理
作用:
是ejb的一个替代产品,可以跨平台、跨系统、跨语言
特点:
所有的协议是soap协议,传送介质是xml
webservice的三大角色?
服务提供商:提供服务,将服务发部代理商
服务代理商(uddi) wsdl(web service description language)
公布服务
客户端
webservice所使用协议?
tcp/ip-->http-->soap
webservice如何传送对象?
以byte数据作为参数,序列化与返序列化对象
xfire实现webservice
1、写一个接口一个实现类
2、在src\META-INF\xfire\services.xml
3、加入xfire相关的类包
4、在web.xml中部署xfire
5、通过客户端调用。
ajax
dwr的作用?
不用写ajax代码可以通过javascript代码直接调用服务器上相关的javaBean方法。
操作过程:
写java类
将dwr.jar文件拷到lib下
在WEB-INF下加入dwr.xml文件,说明javaBean与javascript脚本的对应关系
通过javascipt脚本直接调用服务端的相关方法。
ajax的核心类是什么?如何使用?
ajax的作用: 不用刷新页面,就可以得到服务端相关信息,
包括的技术:
1、核心技术
msxml2.XMLHTTP
2、相关技术
dhtml:动态改变标签内容
javascript
xml
msxml2.DOMDocument.4.0
xsl:
实例:
var v_httprequest=new ActiveXObject("Msxml2.XMLHTTP");
v_httprequest.onReadyStateChange=doResult;
v_httprequest.open("GET","a.jsp?a="+form1.a.value,false);
v_httprequest.send(null);
if(v_httprequest.readyState==4)//结束
{
if(v_httprequest.state==200)//成功
{
var v_text=v_httprequest.responseText;
var v_xml=v_httprequest.responseXML;
}
}
ejb2&ejb3
如何使用jboss
使用jboss的三种方式:default, all, mini
配置jboss_home=c:/jboss4.0
如果是all run -c all
如果是default run
如果是mini run -c mini
将相关的war、ear、jar拷贝到%jboss_home%/server/default/deploy目录下
如何用jboss建立连接池
1、将数据库相关的类包拷到%jboss_home%server/default/deploy/lib目录下
2、从/jboss_home/docs\examples\jca下拷一个连接相关的配置文件到/jboss_home/server/default/deploy并修改
tomcat jboss weblogic、apach的区别?
weblogic:可以运行web应用也支持ejb2.0 ejb3.0,收费的 bea公司出产的产品
websphere:可以运行web应用也支持ejb2.0 ejb3.0,IBM出产的产品,收费的
jboss可以运行web应用也支持ejb2.0 ejb3.0,免费的,被红帽子收购
tomcat只可以运行web应用(jsp servlet struts springMVC),免费的
apache:也是一个服务,是一个文件的服务器
如何在weblogic下建立连接池?
8i:
1、在weblogic控制台建立连接池
2、再给这下连接池一个jndi名。
9-10i
1、直接建立一个连接池
如何将ejb或web信息发部到weblogic服务器上?
1、通过myeclipse将相关的包拷入到如下目录:
在weblogic8.1中将ear或jar或war拷贝到C:\bea\user_projects\domains\mydomain\applications会自动部署。
在weblogic9中将ear或jar或war拷贝到C:\bea\user_projects\domains\base_domain\autodeploy会自动部署。
2、通过weblogic的控制台http://localhost:7001将jar文件直接发部到服务器上
ejb2.0与ejb3.0的区别?
1、实现
ejb2.0的实现要两个接口一个类,其不是pojo或poji,与ejb框架的偶合度太高。
ejb3.0的实现实体bean只需要一个pojo,sessionBean要一个pojo、poji,与ejb框架的偶合度低。
2、配置
ejb2.0的相关说明写在xml文件,配置复杂
ejb3.0的相关说明通过注解,配置简单
3、使用
ejb2.0
在查询时返回的是一个远程接口要将其一个一个封装到数据类中,不方便
增加时要将pojo的属性值设置到实体bean中
public void ejbCreate(Users user)
{
this.setUserName(user.getUserName());
}
修改时要将pojo的属性值设置到实体bean中,通过setData
ejb3.0
查询时返回的就是一个pojo,可以直接用
增加、修改、删除直接给一个pojo
4、测试
ejb3.0是pojo测试方便,开发效率高
ejb2.0不是pojo测试不方便
spring与ejb3.0的区别?
1、测试
spring与容器的藕合度低,可以脱离tomcat、weblogic容器,测试容易开发效率高。
ejb3.0与容器的藕合度高,ejb3.0的实现虽是pojo但运行不可以脱离容器,测试相对复杂,开发效率低
2、配置
spring的绝大部分通过xml文件配置或小部分用注解配置
ejb3.0通过注解(annotation)配置
3、与容器的藕合度
spring与容器的耦合度低,要什么服务通过自己的xml文件进行配置
ejb3.0与容器的耦合度高,要什么服务只可以修改容器。
4、
spring的速度较ejb3.0低一些
spring在解析大量的xml文件。
spring与容器的藕合度低
如何实现ejb3.0实体bean?
写下一个pojo
通过模板加入注释,说明配置信息
建立连接池
在src下建立下目录META-INF加入persistence.xml文件
打包成jar文件发部
如何实现ejb3.0的会话bean?
写一个接口,对这个接口实现,
在实现类前加放注解说明是一个sessionBean及远程接口类,
如果要调用实体bean加入EntityManager属性。
如何调用ejb3.0?
得到上下文环境
工厂
url
根据jndi名在上下文环境中找到ejb,返回一个接口
通过这个接口调用服务端的相关方法
ejb2.0的两个接口一个类是什么及作用?
public interface MyHome extends EJBHOme
{
public MyObject create();
public MyObject find();
}
1、通过create方法调用服务端的ejbCreate方法,在服务端产生一个sessionBean或entityBean
向客户端返回一个远程接口
2、通过find方法在服务端找到一个EnitityBean向客户端返回一个远程接口。
public interface MyObject extends EJBObject
{
public void set();
public String get();
public void remove();
}
1、可以调用服务端相关方法
2、通过remove调用服务端的ejbRemove方法将服务端的sessionBean删除.
ejb2.0实体bean的生命周期?
不存在
ejbCreate
入池:只产生ejb实例,没有加载相关的数据
ejbActivate(入池-->就绪) ejbPassivate(就绪--->入池)
就绪
加载了数据,可以进行改、删、查
简述ejb2.0的调用过程?
得到上下文环境(Context)
url
工厂
通过jndi名在上下文环境中得到Home接口
home接口通过create方法调用服务端的ejbCreate方法在服
务端产生一个SessionBean/EntityBean实例返回
一个远程接口
客户端通过远程接口直接调用服务端的相关方法。
ejb2.0使用的相关技术是什么?
rmi:远程方法调用,客户端可以直接调用服务端一个对象的方法
jndi:是类的别名,通过jndi名得到一个实体或SessionBean
ejb2.0的分类及作用?
SessionBean:主机重启后消失
stateless:方法间不保留状态 关系 1(服务器bean)..n(客户端)
statefull:方法间保留状态 关系 1(服务器bean)..1(客户端)
EntityBean:主机重启后信息保留
cmp(容器管理的bean):不用写sql
bmp(bean管理的bean):必须写sql
Message Driver Bean
异步
ejb2.0服务端的相关方法是什么?
ejbCreate:
ejbPostCreate:ejbCreate方法调用完后调用ejbPostCreate方法,有一个ejbCreate方法就有一个ejbPostCreate方法
ejbRemove:删除ejb
ejbActivate:将ejb激活前调用加载一些资源
ejbPassivate:将ejb钝化前调用释放一些资源
setContext:将容器信息设置到当前bean中
ireport的实现原理:
提供了一个报表编辑器,用户可以基于它自定义报表的格式,生成一个xml文件,
编译成一个jasper文件,通过报表的api及jasper文件生成一个pdf或excel报表。
每一个报表有三种参数分别是paramerer、field、variable,
通过一个HashMap可以将值传给
parameters,可以将一个list传给filed,filed取的是集合元素对象
的一个属性值。
每一个报表分成几部分别是head、title、foot、detail,detail
可以显示多次,其余
有些是一页显示一个,有些是生成的整体文档显示一次。
ireport对中文支持,要将Asignitext.jar
拷入到ireport编辑器对应lib目录下。
在编译时只要有汉字的地方自定字体样式,
说明字体是宋体、pdf、embed
java的一些api
1、生成pdf
--核心类
JRBeanCollectionDataSource:可以放一个集合
JasperRunManager:可以根据jasper文件、HashMap、JasperCollectionDataSource生成一个
pdf文件
--response的设置
response.setContentType("application/pdf");
response.getOutputStream().writer(bytes,0,bytes.length());
log4j的作用?
主要记录日志信息,其可以打印控制台、写入文件、
写入到系统日志中、通过邮件发送。
其有5个级别,从小到大顺序是debug、info、
warn、error、fatal,级别小的显示级别大
有,级别大的不显示级别小的。
得到Logger实例方法是Logger.getLogger(Class cls)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -