学习j2ee初有领悟的小总结

类别:Java 点击:0 评论:0 推荐:

总觉得j2ee tutorial书写的很好,但是很零散,令初学者不得要领。
本文就笔者研习一段时间的j2ee并结合这本书写一些东西。
1.国际化
  比如我有名叫Messages_*.properties的资源包。
  管理客户端:
  public BankAdmin(Locale currentLocale)
  messages = ResourceBundle.getBundle("Messages",currentLocale);
  web客户端:
  从请求中提取区域信息(由浏览器的语言偏好设置),打开对应的资源包,然后把该包作为一个会话的属性存储起来:
  ResourceBundle messages = (ResourceBundle)session.getAttribute("messages");
  if(messages==null){
 Locale locale = request.getLocale();
 messages = ResourceBundle.getBundle("Messages",locale);
 session.setAttribute("messages",messages);
}
注意:为显示中文,程序里部件需选择指定字体,如在显示中文时使用"MS Song"不然界面会有方框。
2.Context是接口(所有命名操作都与其有关),initialContext是类,直接继承于Object
3.RequestDispather
  接受客户端请求并发送到任何服务器上资源,能包装servlets但是servlet容器能生成RequestDispatcher封装任何类型的资源。
4.deploytool中的几个重要的选项卡
  首先注意的是不是所有选项卡都是对于每个组件都有用。
  1).Env. Enties 环境入口,设置环境变量(和程序逻辑无关且经常变动的内容),调用环境变量通过JNDI Naming方式,

ic.lookup("java:comp/env/变量名").存储在企业Bean的配置描述符中,允许定制企业Bean的业务逻辑而无需改动源码的名字值对。
  2).Ejb Refs 在coded name中输入企业Bean的应用名字。是JNDI查找Client的逻辑名字。如果在JNDI的lookup中查找企业Bean的应用象这样


     java:comp/env/ejb/OtherBean
     则输入ejb/OtherBean
  3).Resource Refs
     resource reference name是JNDI查找的资源的逻辑名称。有六种类型:
  DataSource是jdbc/
 Session  mail/
 URL  url/
 QueueConnectionFactory和TopicConnectionFactory  jms/
 ConnectionFactory  env/
      注:QueueConnectionFactory和TopicConnectionFactory,ConnectionFactory  需要用户名和密码请写到用户名和密码域中,

Cloudscape 不需要用户名和密码。
  4).Resource Environment Refs
 对于在代码中出现jms/的

5.如果组件应用了本地实体Bean,则需要在Enterprise Bean Name域中给出来被引用Bean的名字。
6.传递企业Bean的对象引用
  例如你可以通过引用使企业Bean可以调用另一个企业Bean的方法。你无法访问this引用因为它指向在EJB容器中运行的Bean实例,只有容器可

以直接调用Bean实例的方法。客户端通过远程接口实现对象间接调用Bean的方法,通过这些对象(远程接口实现对象)的引用企业Bean可以互

相访问。
会话Bean调用SessionContext接口定义的getEJBObject方法获得它的远程接口对象引用。
实体Bean调用的是EntityContext接口定义的getEJBObject方法。
这两个借口提供企业Bean访问EJB容器管理的上下文对象。
典型情况下,企业Bean通过setSessionContext方法保存它的上下文对象。下面的代码片断说明了会话Bean如何使用这些方法:
public class WagonBean implements SessionBean {
  
   SessionContext context;
   ...
   public void setSessionContext(SessionContext sc) {
      this.context = sc;
   }
   ...
   public void passItOn(Basket basket) {
   ...
      basket.copyItems(context.getEJBObject());
   }
7.META-INF必须用大写。
8.include(request,response) 目的:加入一个资源。
  从web组件中返回的响应包含,如:版权信息和标示信息
资源分为:静态和web组件
9.service服务方法通常模式
  从请求中提取信息---访问外部资源---然后基于这些信息发布响应
  发布响应步骤:1.响应头 2.从响应得到输出流 3.输出流中写入响应体
10.对一个不懂的工具看他的帮助是最直接的手段,别的什么也比不上。

本文地址:http://com.8s8s.com/it/it10215.htm