当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:12:00  来源:本站整理

<b>注释在J2EE5.0中的完善操纵</b>[Java编程]

赞助商链接



  本文“<b>注释在J2EE5.0中的完善操纵</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

随着J2EE进入5.0时代后,J2SE5.0的很多特点也被遍及利用在J2EE程序中.而J2SE5.0的注释(Annotations)特点就是此中利用最遍及的特点之一.

在从前的J2EE版本中,都是利用大量的配置文件来设置Web程序、EJB等.但这一切在J2SE5.0中得到了完好的改进.在J2EE5.0的注释中的一些是专门针对Web和EJB程序的.如@Resource, @EJB和@WebServiceRef等.别的的一些注释,如@RunAs和@DeclareRoles则和安全相关.

固然我们可以在差别的Web利用组件(Class类)中利用注释,但却不能在JSP中利用注释.不过我们也不用感到遗憾.固然无法在JSP中利用注释,但Web库却支持注释.这就意味着我们可以在Servlet过滤器和标签(Tag)库或是别的利用Class的地方利用注释.下面将摆列几种注释在J2EE5.0中的利用.

1、在Servlet中利用注释

首先让我们来看看如安在Servlet中利用注释.在本文的例子中,servlet利用一个本地的接口SlessLocal调用了一个企业Bean(在本例子中是一个无状况的会话Bean).Servlet将一个message对象作为一个恳求属性传入到EJB中,并定向到一个JSP页:display.jsp中.为了演示这一历程,下面是servlet的主要代码:

@DeclareRoles({"arole"})
  @RunAs("myrole")
  public class TestServlet extends HttpServlet {
    private @EJB SlessLocal slessLocal;
   
    public void service(
      HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {
      if (req.isUserInRole("arole")) {
        String message = slessLocal.hello("World");
        req.setAttribute("EJB_MESSAGE", message);
      }
 
      RequestDispatcher rd =
        req.getRequestDispatcher("display.jsp");
      rd.forward(req, resp);
    }
  }

从上面的代码可以看到,@EJB注释被用来利用得当的接口查询企业Bean,这些Bean终究将被Servlet调用.@DeclareRoles注释定义了被HttpServletRequest.isUserInRole(String role)利用的角色.isUserInRole办法肯定了当前用户能否是被指定的角色.在本例中的角色中只有一个用户“arole”将使Servlet得到“message”字符串,并将其赋给HttpServletRequest属性.

@RunAs注释指定了角色"myrole"可以拜候企业Bean办法SlessLocal.hello(String message).

2、在企业Bean中利用注释

下面是上述的无状况企业Bean的主要代码:

@Stateless
  @Local({SlessLocal.class})
  public class SlessBean implements SlessLocal {
    @RolesAllowed(value={"myrole"})
    public String hello(String message) {
      return "Hello, " + message + ", " + new Date();
    }
  }

从上面的代码我们可以注意到hello办法通过利用@RolesAllowed注释被保护了起.这个注释指定了只有效户"myrole"才能拜候hello办法.


  以上是“<b>注释在J2EE5.0中的完善操纵</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .