我是PHP新手,想知道php项目的目录结构.我有Java和java的经验,我们有src包含java源文件,WEB-INF包含lib和jsp页面.我们在PHP中有任何类似的标准目录结构吗?我们也在php中进行分层,就像我们在java中有层(例如Web,Service,DAO层)
我浏览了几个链接.但每个人给出不同的答案.
不确定我们是否可以比较这两种语言.我只想坚持一些标准.
提前致谢.
iterator.remove()与list.remove()迭代器不同的是什么不会抛出异常而list.remove()抛出异常?最后两者都在修改集合大小.
请忽略多线程.我只是谈论for-each循环和迭代器循环.据我所知 - 每个循环仅在内部创建迭代器.
我很迷惑.
我创建了Exception xml并动态创建并抛出异常.
<exception-mappings>
<exception-mapping key="exceptionkey1">
<class-name>com.package.CheckedException</class-name>
<message>Checked Exception Message</message>
</exception-mapping>
<exception-mapping key="exceptionkey2">
<class-name>com.package.UnCheckedException</class-name>
<message>UnChecked Exception Message</message>
</exception-mapping>
Run Code Online (Sandbox Code Playgroud)
我根据异常键使用反射动态创建异常对象.
public static void throwException(final String key) throws CheckedException, UncheckedException {
ExceptionMapping exceptionMapping = exceptionMappings.getExceptionMappings().get(key);
if (exceptionMapping != null) {
try {
Class exceptionClass = Class.forName(exceptionMapping.getClassName());
try {
throw ()exceptionClass.newInstance(); // line X
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道哪一个类在X行进行类型转换,这样我就不需要使用If/else了.原因我不想使用if else,有可能在将来可能会添加新类,并且我不希望每次添加新异常时都更改此代码.
我的基本逻辑是我的服务层将抛出CheckedException或UncheckedException.如果抛出CheckedException,它将由我的Web层处理.此外,我不能抛出超级父类Exception或Throwable,因为我的web层只捕获CheckedException.如果抛出UncheckedException,它将显示异常页面.
请帮助我,因为我无法继续前进.
编辑:任何其他解决方案也被接受.
我在项目中有分层的架构,例如Controller-> Service-> DAO。我想为服务层编写JUnit测试用例。现在,由于服务层将在内部调用DAO方法,所以为什么要在内部测试DAO层时编写不同的测试用例。
有人说,我需要使用Mockito模拟DAO方法。真的需要吗?不能在测试服务层方法时直接使用原始代码吗?
有很多与我的问题相关的类似问题。但我没有找到任何令人满意的答案来回答我的问题。所以我把这个问题放到这个论坛上。
我对库存管理系统中的并发控制有疑问。假设我有产品 A、B、C,数量为 2、3、4。我的应用程序是多用户的。
我有产品页面,用户可以在其中查看产品列表和可用数量。我有结账和付款页面,可能需要一些时间才能到达产品页面。
现在,如果它是多用户 Web 应用程序,并且假设用户 1 订购了 2 数量的产品 A 但尚未下订单,则用户 2 仍然可以看到具有 2 数量的 A。
我是否应该暂时(可配置时间)锁定产品 A 的 2 个数量,直到下订单为止?是不是一个好的设计。如果是的话,我应该锁定在java中还是数据库中?
我正在使用JPA + spring开发Web应用程序。我的项目层结构是Web->服务-> DAO-> GenericDAO。所有类均以单例spring bean实例化。GenericDAO正在使用@PersistenceContext注入entityManager的实例。
我的应用程序获取http会话中存储的域实体。在对那些实体执行任何数据库操作之前,需要使用合并将其重新连接到实体管理器。我想知道将实体合并到实体管理器的最佳方法。当前,每次调用事务方法时,我都会调用genericDAO.merge(object)。例如
@Transactional
public void addProducts() {
Order order = getOrderFromHttpSession();
genericDAO.merge(order);
// delete existing products
// add new products
// other db operations.
}
Run Code Online (Sandbox Code Playgroud)
还有其他更好的方法可以做到这一点。有任何设计模式可用于此吗?
我的J2EE应用程序部署在集群中,服务器可以位于多个时区.例如,一台服务器在EST中,另一台服务器在CST中.
考虑一种情况,其中请求到达EST中的服务器并将日期和时间存储在数据库中(没有时区).还有另一个请求来检索相同的日期.但该请求可能会转到CST中的另一台服务器.
有没有办法确定哪个时区日期存储在数据库中?
PS:我正在使用Oracle/Java/Hibernate.