| 网站镜像:电信 网通 | 加入收藏 | 设为首页

学习j2ee初有领悟的小总结

  •   
    总觉得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.对一个不懂的工具看他的帮助是最直接的手段,别的什么也比不上。