标签: java-ee-5

使用web.xml进行Servlet映射

我对servlet映射的web.xml结构感到困惑,执行它没有任何问题,但我试图弄清楚为什么我们在部署描述符中有这样的模式.

<web-app>
    <servlet>
         <servlet-name>Servlet1</servlet-name>
         <servlet-path>foo.Servlet</servlet-path>
    </servlet>
    <servlet-mapping>
         <servlet-name>Servlet1</servlet-name>
         <url-pattern>/enroll</url-pattern>
    </servlet-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)

现在只要我理解url-pattern"/ enroll"的请求,servlet容器就会将servlet-name与url-pattern匹配,并尝试查找相应的servlet-path并转发控件to foo.Servlet.所以基本上会有两个传递一个用于查找servlet-name而另一个用于servlet-path,我的问题是如果容器设计为以下列方式工作

<web-app>
        <servlet>
             <servlet-name>foo.Servlet</servlet-path>
             <url-pattern>/enroll</url-pattern>
        </servlet>
</web-app>
Run Code Online (Sandbox Code Playgroud)

如果我们使用以下方法会有什么缺点.这不会更有效,响应时间也会很快.

java servlets web-applications java-ee-5

29
推荐指数
1
解决办法
14万
查看次数

你如何对Java EE代码进行单元测试?

我想问一下您测试Java EE代码的首选方法?

我发现只有三个项目,它们试图帮助在Java EE环境中编写单元测试代码:

所以我想,

  • 是否有任何框架帮助编写(j)Java EE代码的单元测试?
  • 你使用嵌入式Java EE服务器,如jboss或glassfish v3?
  • 你自己模拟和注射吗?

非常感谢...

java junit unit-testing ejb-3.0 java-ee-5

25
推荐指数
1
解决办法
2万
查看次数

Glassfish和JBoss 5的真实世界比较?

有没有人在现实世界中都有过这方面的经历?他们如何在性能(内存使用,速度等)方面进行比较?稳定性?

JBoss Seam在Glassfish上运行良好吗?

java jboss glassfish java-ee-5

23
推荐指数
3
解决办法
2万
查看次数

Java EE - 它只是绒毛还是真正的东西?

我熟悉LAMP堆栈,多年来已成功部署了一些基于它的Web sties.我已经使用了从Apache + modPerl到PHP,Ruby和Rails的所有东西.通过充分利用缓存,我的Rails站点可以承受相当不错的负载,但我并不是说大量的.

我从来没有真正喜欢Java作为一种语言或XML,并且非常忽略了整个Java EE方面.对于那些在这两个领域都拥有真实和直接经验的人来说:Java EE是否有一些我非常喜欢的东西,或者只是一堆热风?什么证明专有应用程序服务器的高价格是合理的?

我不是在这里曳:我正在寻找的东西,Java EE的真指甲是从缺少具体的例子现代 LAMP架构,如果存在这种差异.(Modern = Rails,Django等).或者用LAMP真正做得更好的东西(更少的XML坐起来).

+++++更新于2008年10月16日

我很遗憾地报告说,这里的大多数回复都没有用,只是分为两类:"它可以扩展,因为这里有大型网站的三个例子"和"它可以扩展,因为它确实比实际上要好得多LAMP堆栈".

我已经做了很多阅读,并得出结论,Java EE只有一个非常好的技巧:交易(感谢Will),至于其余的你可以成功或失败的自己的优点,环境中没有任何内在的东西为了让你创建一个可扩展且可靠的网站,事实上Java EE有很多陷阱可以很容易地失败(例如,很容易开始使用会话bean而没有意识到你现在正在为相当多的JMS付费通过不同的设计可能已经避免的流量.)

有用的讨论

lamp frameworks java-ee java-ee-5

12
推荐指数
2
解决办法
1458
查看次数

@Cache注释使用错误

我添加了以下注释以启用我的EJB3实体之一的缓存,以使用ehCache测试缓存,其中我使用Hibernate作为持久性提供程序:

....
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;

@Entity
@Table(name = "F")
@Cache(usage=CacheConcurrencyStrategy.READ_WRITE)
@NamedQueries({ @NamedQuery(name = "F.findAll", query = "SELECT f FROM F f")})
public class F implements Serializable {
   .....
}
Run Code Online (Sandbox Code Playgroud)

我在persistence.xml中添加了以下内容:

<property name="hibernate.cache.provider_class" value="org.hibernate.cache.EhCacheProvider"/>
<property name="hibernate.cache.provider_configuration_file_resource_path" value="/ehcache.xml"/>
<property name="hibernate.cache.use_second_level_cache" value="true"/>
Run Code Online (Sandbox Code Playgroud)

当我尝试编译时,我收到以下错误:

/persistence/F.class):警告:无法在类型'org.hibernate.annotations.Cache'中找到注释方法'usage()':org.hibernate.annotations.Cache的类文件未找到编译器中发生异常(1.6.0_16).在检查Bug Parade重复项后,请在Java Developer Connection(http://java.sun.com/webapps/bugreport)上提交一个错误.在报告中包含您的计划和以下诊断.谢谢.com.sun.tools.javac.code.Symbol $ CompletionFailure:未找到org.hibernate.annotations.CacheConcurrencyStrategy的类文件

任何人都可以帮助我,让我知道我目前需要做什么或做错了什么?

caching hibernate ehcache ejb-3.0 java-ee-5

10
推荐指数
1
解决办法
1万
查看次数

JMS使用者和消息驱动Bean(MDB)之间有什么区别

异步JMS(Java消息服务)使用者与实际MDB(消息驱动Bean)之间是否存在任何差异.我看到的唯一区别是MDB类具有@MessageDriven异步JMS使用者没有的注释.

还有我遗失的其他东西?

ejb jms java-ee message-driven-bean java-ee-5

10
推荐指数
1
解决办法
8864
查看次数

如何使用j_security_check获取连接用户的数量及其角色?

我通过托管bean以这种方式获取连接用户的用户名(使用j_security_check):

......
    username =   FacesContext.getCurrentInstance().getExternalContext().getUserPrincipal().getName();
Run Code Online (Sandbox Code Playgroud)

然后以这种方式在jsf页面中显示它:#{userBean.username} 但我认为无法获得连接用户数量并获得他们的角色.换句话说,除了用户名,用户角色和连接用户数之外,我还要显示. 我怎样才能做到这一点!?在此先感谢您的帮助!

编辑:我现在可以使用托管bean中的namedquery获取连接用户的角色:

public Users getUserRole(){
      try {
            Users auser = (Users)
            em.createNamedQuery("Users.findByUsername").
                    setParameter("username", getRemoteUser()).getSingleResult();
            return auser; 
        } catch (NoResultException nre) {
            JsfUtil.addErrorMessage(nre, "getUserRole Error");
            return null;
        }

    }
Run Code Online (Sandbox Code Playgroud)

并在xhtml页面中:

<h:outputLabel for="rolefacet" value="Role: "/>
  <h:outputFormat id="rolefacet" value="#{UserBean.userRole.ugroup}" /> 
Run Code Online (Sandbox Code Playgroud)

而ugroup是Users实体类中的角色名称.


编辑:一个仍然不适合我的解决方案是在我的web.xml中添加一个HttpSessionListener:

package beans;

/**
 *
 * @author med81
 */

import java.io.Serializable;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
import javax.servlet.http.HttpSession;
import java.util.List;
import java.util.ArrayList;

import javax.faces.context.FacesContext;


public class SessionCounter implements …
Run Code Online (Sandbox Code Playgroud)

jsf j-security-check userprincipal java-ee-5

9
推荐指数
2
解决办法
8252
查看次数

JPA Entiy是同义词而不是表

我有一个基于Seam 2.2的Java EE 5 Web应用程序,其中一堆表通过Hibernate 3.3.3映射到JPA 1.0实体.在开发期间,它运行在Tomcat 6,Oracle 10 XE和Windows 7上.

现在,操作部门要求我们将数据模型拆分为一个模式,即一个模式,即所有数据库对象的所有者(myschema)和一个充当应用程序数据库用户的模式(myschema_app).所以我做了以下事情:

  • 创建架构 myschema_app
  • 授予对来自所有必要的表对象权限myschema(常规一和两个N:M中间表)和序列根据使用(一个或多个的select,insert,update,delete),以myschema_app
  • 声明私有同义词,myschema_app以便使用与以前相同的名称并隐藏其他模式的名称前缀
  • 将属性更改hibernate.default_schema为新的模式名称persistence.xml
  • 在Tomcat的数据源定义中更改用户/密码 context.xml

当我在hibernate.hbm2ddl.auto设置时启动应用程序时,validate当框架尝试创建EntityManagerFactory告诉我缺少表时,我得到一个异常.当我在myschema_app连接的sql工具中直接执行select语句时,一切正常.

我知道在另一个表上使用同义词对于应用程序是透明的.有谁知道我可能忽略了什么?

hibernate seam jpa oracle10g java-ee-5

9
推荐指数
2
解决办法
6951
查看次数

如何将.properties文件中的值包含到web.xml中?

我需要将a中的一些值包含file.propertiesWEB-INF/web.xml这样的内容中:

<param-name>uploadDirectory</param-name>
<param-value>myFile.properties['keyForTheValue']</param-value>
Run Code Online (Sandbox Code Playgroud)

我正在使用这个:

  • JBoss的
  • JEE5

jboss web.xml java-ee java-ee-5

8
推荐指数
1
解决办法
2万
查看次数

使用spring和java ee 5将bean注入抽象类

我正在将一个spring-managed bean注入一个抽象类,它似乎不起作用.这是我所做的解释,如果还不够,我可以编辑帖子并添加一些代码:

  1. 实现java代码 - 1个抽象类,2个继承自它的类,以及要在抽象类中注入和使用的bean,从而实现子类.
  2. 在spring配置中定义bean.
  3. 在spring配置中定义抽象类和2个子类.
  4. 将第一个bean定义为抽象类bean的属性.

结果 - 它不起作用.

然后我尝试将注入的bean从抽象类移动到两个子类中.现在它有效.

那么,我做错了什么,或者理论上不可能将bean注入Spring 3和Java EE 5的抽象类中?

spring dependency-injection java-ee-5

8
推荐指数
1
解决办法
1万
查看次数