标签: java-ee

用于提供静态内容的Servlet

我在两个不同的容器(Tomcat和Jetty)上部署了一个webapp,但是他们用于提供静态内容的默认servlet有一种不同的方式来处理我想要使用的URL结构(详细信息).

因此,我希望在webapp中包含一个小servlet来提供自己的静态内容(图像,CSS等).servlet应具有以下属性:

这样的servlet可以在某处使用吗?我能找到的最接近的是servlet书中的例子4-10.

更新:我想使用的URL结构 - 万一你想知道 - 只是:

    <servlet-mapping>
            <servlet-name>main</servlet-name>
            <url-pattern>/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
            <servlet-name>default</servlet-name>
            <url-pattern>/static/*</url-pattern>
    </servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

所以所有请求都应该传递给主servlet,除非它们是static路径.问题是Tomcat的默认servlet不考虑ServletPath(因此它在主文件夹中查找静态文件),而Jetty则这样(因此它在static文件夹中查找).

java jsp servlets java-ee

143
推荐指数
9
解决办法
16万
查看次数

描述用于Java Web应用程序的体系结构?

让我们分享基于Java的Web应用程序架构!

Web应用程序有许多不同的体系结构,这些体系结构将使用Java实现.这个问题的答案可以作为各种Web应用程序设计的库,各有利弊.虽然我意识到答案是主观的,但我们尽量做到客观,并激励我们列出的利弊.

使用您喜欢的详细程度来描述您的体系结构.为了使您的答案具有任何价值,您至少必须描述您所描述的架构中使用的主要技术和想法.最后但并非最不重要的是,我们何时应该使用您的架构?

我会开始......


架构概述

我们使用基于Sun的开放标准的3层架构,如Java EE,Java Persistence API,Servlet和Java Server Pages.

  • 坚持
  • 商业
  • 介绍

层之间可能的通信流程表示为:

Persistence <-> Business <-> Presentation
Run Code Online (Sandbox Code Playgroud)

例如,表示表示层从不调用或执行持久性操作,它始终通过业务层执行.该体系结构旨在满足高可用性Web应用程序的需求.

坚持

执行创建,读取,更新和删除(CRUD)持久性操作.在我们的例子中,我们使用(Java Persistence API)JPA,我们目前使用Hibernate作为持久性提供程序并使用其EntityManager.

该层分为多个类别,其中有某种类型的实体的每一类交易(涉及到购物车即实体可能是由一个单独的持久类得到处理),并使用一个且只有一个经理.

此外,该层还存储JPA实体,例如Account,ShoppingCart等等.

商业

与Web应用程序功能相关的所有逻辑都位于此层中.该功能可以为想要使用她/他的信用卡在线支付产品的客户启动汇款.它也可以创建新用户,删除用户或计算基于Web的游戏中的战斗结果.

该层分为多个类,每个类都注释@Stateless为成为无状态会话Bean(SLSB).每个SLSB都被称为管理器,例如,管理器可以是所提到的注释类AccountManager.

AccountManager需要执行CRUD操作时,它会对一个实例进行适当的调用,该实例AccountManagerPersistence是持久层中的一个类.两种方法的粗略草图AccountManager可能是:

...
public void makeExpiredAccountsInactive() {
    AccountManagerPersistence amp = new AccountManagerPersistence(...)
    // Calls persistence layer
    List<Account> …
Run Code Online (Sandbox Code Playgroud)

java architecture java-ee

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

我应该使用@EJB还是@Inject

我发现了这个问题:@ Inject和@EJB之间的区别是什么,但我没有更明智.我以前没有完成Java EE,也没有依赖注入的经验,所以我不明白我应该使用什么?

@EJB和旧的注射方式?在使用@Inject时使用此批注时EJB容器是否完成注入使用新的CDI框架?这是不同的,如果是这种情况,我应该使用@Inject而不是@EJB吗?

java ejb java-ee cdi

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

缺少web.xml,<failOnMissingWebXml>设置为true

考虑:

在此输入图像描述

当我在Eclipse中创建一个简单的Maven项目时,我收到此错误:

缺少web.xml并将<failOnMissingWebXml>其设置为true

我该如何解决这个问题?

eclipse m2eclipse java-ee maven

140
推荐指数
7
解决办法
22万
查看次数

每个优秀的Java/Java EE开发人员应该能够回答的问题?

我所经历的问题,每一个良好的.NET开发人员应该能够回答,是这个问题的内容和方法非常深刻的印象,因此,在同样的精神,我要求的Java/Java EE的开发者这个问题.

有什么问题你认为应在良好的Java/Java EE的程序员能够回答?

我将此问题标记为社区维基,因为它不是用户特定的,它旨在为整个编程社区提供服务.

期待一些惊人的回应.

编辑:请回答问题,如评论中所建议的那样,这样人们也可以学习一些关于语言的新知识.

java java-ee

138
推荐指数
21
解决办法
20万
查看次数

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

您现在可以使用JBoss或Glassfish(或其他)作为新项目的Java EE服务器吗?

如果您今天启动了一个新的Java EE项目,该项目将在大约一年内完成,您会选择哪个应用程序服务器?为什么?

你的部分答案应包括你的决定论据.您还可以选择使用Java EE服务器以及市场上其他可用服务器的经验.这些都很有趣,因为我们都对你的答案中的调查和思想有所了解.

java jboss glassfish java-ee

136
推荐指数
4
解决办法
6万
查看次数

请解释一下:insertable = false,updatable = false

如果某个字段有注释insertable=false, updatable=false,这是否意味着您不能插入值也不能更改现有值?你为什么想这么做?

@Entity
public class Person {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    @OneToMany(mappedBy="person", cascade=CascadeType.ALL)
    private List<Address> addresses;
}

@Entity
public class Address {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    @ManyToOne
    @JoinColumn(name="ADDRESS_FK")
    @Column(insertable=false, updatable=false)
    private Person person;
}
Run Code Online (Sandbox Code Playgroud)

java jpa eclipselink java-ee

132
推荐指数
5
解决办法
12万
查看次数

在Java Web应用程序中从应用程序服务器外部提供静态数据的最简单方法

我有一个在Tomcat上运行的Java Web应用程序.我想加载静态图像,这些图像将在Web UI和应用程序生成的PDF文件中显示.此外,还将通过Web UI上传添加和保存新图像.

通过将静态数据存储在Web容器中但从Web容器外部存储和加载它们来解决这个问题并不是一个问题.

我不想在此时使用像Apache这样的单独的Web服务器来提供静态数据.我也不喜欢将图像以二进制形式存储在数据库中.

我已经看到一些建议,比如将图像目录作为指向Web容器外部目录的符号链接,但这种方法是否适用于Windows和*nix环境?

有人建议编写一个过滤器或servlet来处理图像服务,但这些建议非常模糊和高级别,没有指向如何实现这一目标的更详细信息.

tomcat servlets static-content java-ee

129
推荐指数
5
解决办法
14万
查看次数

JSP EL,JSF EL和Unified EL之间的区别

我想知道Expression Languages(EL)之间的细节差异.有JSP EL,JSF EL和Unified EL.

我想知道EL背后的历史以及Java EE应用程序中使用的最新EL.它是最新版本中所有视图技术的EL通用吗?

jsf jsp el java-ee

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

标签 统计

java-ee ×10

java ×7

jsp ×2

servlets ×2

architecture ×1

cdi ×1

eclipse ×1

eclipselink ×1

ejb ×1

el ×1

glassfish ×1

jboss ×1

jpa ×1

jsf ×1

m2eclipse ×1

maven ×1

static-content ×1

tomcat ×1