Tag: web applications

是否值得混淆java Web应用程序?

是否值得混淆java Web应用程序? 为什么?

JSF 2 – 未检测到@ManagedBean

我有一个ParentBean类,它有@ManagedBean注释。 如果我将ChildBean子类化,则ChildBean不会inheritance@ManagedBean批注,尽管@ManagedBean批注具有元标注Inherited 。 我错过了什么? JSF 2.0 Mojarra 2.0.6 | JBoss 5.1.0.GA Eclipse Indigo – Build id:20110615-0604 编辑:仍在寻找解决方案……

如何进行GWT服务器调用(GWT RPC?)

嗨,我是新来的gwt(java based gui) 。 在这里,我试图进行GWT服务器调用。 我想将MyBean保存到我的Database 。 后来我要update,delete etc.. 有什么可能性,我怎样才能做到这一点?

我是否正确地使用MVC实现了n层应用程序?

由于对设计模式和架构非常不熟悉,我很难向其他人解释我的最新应用程序是如何设计的。 我在表示层中认为它是纯粹的n层,纯MVC和带有MVC的n层之间切换。 目前我认为后者是正确的,但我想要更有经验的开发人员的想法。 怎么运行的: 浏览器向Tomcat发送HTTP请求。 将请求通过web.xml映射到servlet(我称之为控制器) 控制器实例化一个或多个业务对象并调用这些方法,即customerBO.getById(12) ,它们在调用一个或多个DAO方法(即customerDAO.getById(12)之前将再次执行业务逻辑/validation。 BO返回一个CustomerVO列表给控制器 控制器为视图(JSP)准备属性( request.setAttribute(“customers”, customers); )并选择要使用的.jsp文件,该文件将迭代列表并将XHTML呈现给浏览器。 结构(我的建议/理解) 表示层 :目前正在使用我认为的MVC Web实现:servlet(控制器),jsp(视图)和我自己的OO XHTML表单实现(即CustomerForm)就在这里。 应该可以通过切换此表示层来使用Swing / JavaFX / Flex GUI,而无需在下面的层上更改任何内容。 逻辑层 :分为两层,Business Objects(BO)位于顶层。 负责业务逻辑,但除了输入validation之外我还没有找到太多内容,因为应用程序主要由简单的CRUD操作组成……在许多情况下,这些方法只是在DAO层上调用一个具有相同名称的方法。 使用CRUD方法的DAO类,它再次与下面的数据层联系。 还有一个convertToVO(ResultSet res)方法,它们从数据库和(值列表)值对象执行ORM。 所有方法都将值对象作为输入,即customerDAO-> save(voter)并在成功时返回更新的选举者,在失败时返回null。 数据层 :底层数据存储在数据库中或存储为XML文件。 我没有在这里“编码”任何东西,除了一些MySQL存储过程和触发器。 问题(除了标题中的问题): MVC中的M. 当模型是从逻辑层中的业务对象返回的列表/ VO时,我不确定是否可以调用此n层MVC? 当控制器/视图在这里时,模型是否需要驻留在表示层中? 表示层中的表单模板可以称为模型吗? 如果是这样; BO中的forms和列表都被视为MVC中的M? 根据我的理解,在MVC中,视图应该观察模型并更新更新,但这在视图是呈现的XHTML页面的Web应用程序中是不可能的? 这反过来又引出了一个问题:对于Web应用程序与常规桌面应用程序,MVC的实现方式是否不同? 当所有HTTP请求都在web.xml中显式映射时,我没有使用Front Controller模式吗? 要使用Front Controller,我需要将所有请求转发到标准servlet / controller,然后依次评估请求并调用另一个控制器? Business Layer在我的应用程序中感觉有点“无用”。 你通常在这个图层/对象中放什么? […]

Spring – 应用程序初始化两次?

当我开始运行我的Spring应用程序我的tomcat时, ContextRefreshedEvent会触发两次。 请参阅StackTrace。 Dec 20, 2013 6:07:56 PM org.apache.tomcat.util.digester.SetPropertiesRule begin WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property ‘source’ to ‘org.eclipse.jst.j2ee.server:SpringValidations’ did not find a matching property. Dec 20, 2013 6:07:56 PM org.apache.catalina.core.AprLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre6\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Java/jre6/bin/client;C:/Program Files/Java/jre6/bin;C:/Program […]

Velocity无法找到资源

出了点问题,非常令人沮丧。 我在velocity的主页上读到,当我运行webapp时,应该设置一些属性。 我已经做到了,但无论我做什么,我都会遇到同样的错误。 这是我设置道具和使用速度的地方 public class ConfirmationMailGenerator implements MailGenerator { private BasicUser user; private String htmlTemplate = “HTMLConfirmationMailTemplate.vsl”; private String plainTemplate = “PlainConfirmationMailTemplate.vsl”; public ConfirmationMailGenerator(BasicUser user) { this.user = user; } public StringWriter generateHTML() throws Exception { Properties props = new Properties(); props.setProperty(“resource.loader”, “wepapp”); props.setProperty(“webapp.resource.loader.class”, “org.apache.velocity.tools.view.WebappResourceLoader”); props.setProperty(“webapp.resource.loader.path”, “/WEB-INF/mailtemplates/”); VelocityEngine engine = new VelocityEngine(props); VelocityContext context […]

从.war文件加载类的顺序

在下面的场景中我有一个关于保证的问题(如果有的话)(请注意问题不是“如何以不同的方式执行此操作?”) ,问题实际上是关于以下情况下的类加载顺序(至更好地理解类加载的工作原理)。 这是假设的场景……有一个.war文件,它具有以下(部分)目录结构: WEB-INF/classes/com/acme/Bunny.class . . . WEB-INF/lib/acme.jar 两个Bunny.class文件都有导入引用acme.jar中的其他类 WEB-INF / classes / …中的Bunny.class是唯一一个与acme.jar中的类具有相同名称/路径的类。 .jar文件acme.jar还包含com.acme.Bunny (并且没有使用特殊的类加载器技巧)。 据我所知,Java规范保证在程序实际使用(或故意“手动加载类似”)之前不会加载类,这就是为什么如果你填充数千个.jar,比如说.war,类加载器不会开始加载数万个类。 (编辑) 但是上面示例中的两个类的加载顺序又如何呢? 应该措辞: 但是如何确定上面两个类中的哪一个被加载? 或类似的东西 :) 有一个保证: com.acme.Bunny将在com.acme的任何其他类之前使用…. 基本上,在维基百科上,写了以下内容: 最复杂的JAR地狱问题出现在利用类加载系统的完全复杂性的情况下。 Java程序不需要仅使用单个“平面”类加载器,而是可以由几个(或实际上是不确定数量的)嵌套的协作类加载器组成。 由不同类加载器加载的类可能以复杂的方式进行交互,而开发人员无法完全理解这些类,从而导致无法解释的错误或错误。 所以我想知道:我可以确定/classes/com/acme/Bunny.class是否会在WEB-INF / lib / dir中的.jar之前进行类加载?

如何在Web应用程序中重新加载资源包?

我有资源包作为Java类从数据库中读取值。 当我更新数据库我需要重新加载包,但我不知道如何。 有人帮忙吗? package model.helpers; public class Messages_en extends ListResourceBundle { protected Object[][] getContents() { // from DB // … } } 在视图中我使用bundle如下:

Spring MVC @RequestMapping注释的不区分大小写映射

可能重复: 如何在带有注释映射的Spring MVC中使用不区分大小写的URL 我有控制器在其中有多个@RequestMapping注释。 @Controller public class SignUpController { @RequestMapping(“signup”) public String showSignUp() throws Exception { return “somejsp”; } @RequestMapping(“fullSignup”) public String showFullSignUp() throws Exception { return “anotherjsp”; } @RequestMapping(“signup/createAccount”) public String createAccount() throws Exception { return “anyjsp”; } } 如何将这些@RequestMapping映射到不区分大小写。 即如果我使用“/ fullsignup”或“/ fullSignup”,我应该得到“anotherjsp”。 但现在这种情况并没有发生。 只有“/ fullSignup”才能正常工作。 我试过扩展RequestMappingHandlerMapping但没有成功。 我也尝试过AntPathMatcher,就像在这个论坛上提到的另一个问题,但它也不适用于@RequestMapping注释。 调试控制台 服务器启动时的输出控制台。 我添加了两张显示问题的图片。 我已经尝试了下面提到的两种解决方案。 控制台说它映射了小写的URL,但是当我请求访问带有小写url的方法时,它表明存储值的原始映射包含MixCase URLS。

如何在Spring applicationContext.xml中读取JVM参数

我有一个使用Spring的JSF Web应用程序,我正在尝试找出一种从applicationContext.xml引用JVM参数的方法。 我使用环境参数启动JVM(例如-Denv = development)。 我找到并尝试了一些不同的方法,包括: ${environment} 但是,当在MyClass中调用setter方法时,将传递字符串“$ {environment}”,而不是“development”。 我有一个使用System.getProperty()的工作,但是能够通过Spring设置这些值会更好,更清晰。 有没有办法做到这一点? 编辑:我之前应该提到的是我使用JDBC连接从我的数据库加载属性。 这似乎增加了复杂性,因为当我向配置添加属性占位符时,属性占位符将覆盖从数据库加载的属性。 我不确定它是依赖于顺序还是其他东西。 这就像我可以做其中一个,但不是两个。 编辑:我目前正在使用以下配置加载属性: