假设我有以下目录结构.
D:\reports\january\
Run Code Online (Sandbox Code Playgroud)
一月份内部有两个excel文件说A.xls和B.xls.有许多地方已经写过如何使用zip文件java.util.zip.但是,我要压缩报告文件夹中的文件夹一月本身这样既月份和january.zip将出席内部报告.(这意味着当我解压缩january.zip文件时,我应该获得january文件夹).
任何人都可以请我提供使用的代码java.util.zip.请告诉我是否可以通过使用其他库来更轻松地完成此操作.
非常感谢...
这个问题在SO中被问了好几次,在其他网站上已经多次询问过.但我没有得到任何令人满意的答案.
我的问题:
我有一个java Web应用程序,它使用简单的JDBC通过Glassfish应用程序服务器连接到mysql数据库.
我在glassfish服务器中使用了以下配置的连接池:
初始池大小:25
最大池大小:100
池大小调整数量:2
空闲超时:300秒最长
等待时间:60,000毫秒
该应用程序已经部署了3个月,并且运行良好.
但是从最近2天开始,登录时会出现以下错误.
部分StackTrace
com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: No operations allowed after connection closed.Connection was implicitly closed due to underlying exception/error:
** BEGIN NESTED EXCEPTION **
com.mysql.jdbc.CommunicationsException
MESSAGE: Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.io.EOFException
MESSAGE: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
STACKTRACE:
java.io.EOFException: Can not read response from …Run Code Online (Sandbox Code Playgroud) 我正在学习使用Maven在Eclipse中构建Java项目.我创建了一个Java项目HelloWorld从
文件夹中的"Maven的原型-快速入门"模板D:/maven_projects.然后,为了转换Maven项目以支持Eclipse IDE,我导航到项目文件夹并发出命令:
mvn eclipse:eclipse和mvn package.
然后我在Eclipse中导入了项目并完成了必要的Eclipse配置,比如在Eclipse类路径中设置Maven本地存储库.现在项目在D:/EclipseWorkspace文件夹中.我在Eclipse打印"helloworld"中成功运行了该项目.
现在,如果我想继续开发项目,并且出于这个原因想在Eclipse 中的pom.xml中添加新的依赖项,那么当我运行项目时,新的jar文件不会添加到类路径中.
所以我的问题是在将一个Maven项目导入Eclipse之后如何在pom.xml中添加越来越多的依赖项,然后构建并运行该项目?建议的有效方法是什么?
根据我对休眠的理解(请确认)
1- session.close()如果你得到它,你必须这样做getSessionFactory().openSession().
2-没有必要,session.close()如果你得到它getSessionFactory().getCurrentSession().它在commit()后自动关闭.
3- @ 2使用时getSessionFactory().getCurrentSession(),我们必须在活动事务中执行所有数据库活动,以便最后可以提交().
4- Hibernate将所有保存,更新和删除操作置入,并仅在执行flush()操作或提交事务或关闭发生这些操作的会话后将它们提交到数据库服务器.(根据javadoc)
从以上几点来看,如果我考虑1和4,那么下面的代码应该有效:
Session session = HibernateUtil.getSessionFactory().openSession();
AccountDetails ac = new AccountDetails();
//perform set operations
session.save(ac);
session.close();
System.out.println("new account stored.");
Run Code Online (Sandbox Code Playgroud)
但它不起作用,即它运行平稳但不反映(存储)在数据库中.为什么会这样?当我在事务中编写代码并提交时,它就会被存储.
我想我错过了一件基本的事情.请澄清.
我的应用程序使用JSPM和SystemJS进行模块加载,并使用angular.
我的config.js文件有角度图,如:
"angular": "github:angular/bower-angular@1.5.8"
Run Code Online (Sandbox Code Playgroud)
所以,当我这样做时import angular from 'angular',我从config.js文件中指定的Path获取angular.js 文件.非常好.
现在要求是我想在应用程序中使用缩小的第三方javascript文件(angular.min.js).但是jspm 注册表中没有缩小的文件
所以我的应用程序的初始加载时间很长,因为有很多大文件,例如angular.js,browser.js等需要花费太多时间来加载.
我知道,我可以做一个jspm bundle递归缩小所有依赖文件,包括供应商的文件.但我的问题是:
1 -是否可以直接使用JSPM的供应商缩小文件(angular.min.js)?使用供应商的缩小文件而不是将它们缩小为自己是好的,不是吗?
2 -如果上面的一个不可能,那么我如何只捆绑我的应用程序特定文件并仍然能够使用(单独捆绑)minified angular.js文件?
这里推荐的方法是什么?
javascript angularjs bundling-and-minification systemjs jspm
在我的 Spring Boot 服务中,我根据订单详细信息和客户详细信息验证收到的订单。
在客户详细信息中,我有不同的对象列表,例如服务、属性、产品等,对于每个列表,我正在执行以下操作:
products.stream()
.filter(Objects::nonNull)
.map(Product::getResource)
.filter(Objects::nonNull)
.filter(<SimplePredicate>)
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
我多次将这样的流用于产品、服务和属性。我们观察到,在性能方面,它提供了非常高的 TPS,并且内存使用率也非常理想。但这非常消耗CPU。我们在 Kubernetes pod 中运行该服务,它占用了所提供 CPU 的 90%。
一个更有趣的观察是,我们提供的 CPU 越多,实现的 TPS 就越高,CPU 使用率也达到 90%。
是因为 Streams 消耗更多 CPU 吗?或者是因为高垃圾收集,因为在每次迭代 Streams 之后,内部内存可能会被垃圾收集?
编辑-1:
使用负载测试进行进一步调查后,发现:
以下是不同CPU/线程配置下TPS vs. CPU的统计。
CPU:1500m,线程:70
| TPS | 176 | 140 | 125 | 79 | 63 |
|----------------------------------|
| CPU | 1052 | 405 | 201 | 84 | 13 |
Run Code Online (Sandbox Code Playgroud)
CPU:1500m,线程:35
| TPS | …Run Code Online (Sandbox Code Playgroud) 我正在用Java开发一个Web应用程序,我想
通过使用散列密码来确保身份验证过程的安全.
在散列
步骤1中:我们获取用户给出的密码并添加盐.
步骤2:使用MessageDigest哈希值并将哈希值存储在数据库中
而验证在登录过程用户我们重复两个相同以上步骤,但代替
存储我们与存在于数据库中的值进行比较的哈希值.
现在请原谅我的无知,但我想说的是,如果黑客通过任何其他
方式访问数据库,那么它可以提供安全性,因为黑客无法
轻易地从散列值中获取密码的真实文本.
但是,Bruteforce attack, Rainbow attack, dictionary attack当我们使用相同的步骤来验证用户登录时,它如何提供针对其他形式的攻击的安全性?
我不认为现在密码的哈希值太多了.
给我一些建议.....如果我错了.
我已经看到它在很多地方都写过,应将Spring应用程序的DAO和Service类限制为单例范围。
在我的应用程序中,我具有以下服务类别
@Service
public class CustomerServiceImpl implements CustomerService {
@Autowired
private CustomerDAO customerDAO;
.......
parameterised methods only....
}
Run Code Online (Sandbox Code Playgroud)
和DAO班
@Repository
public class CustomerDAOImpl implements CustomerDAO {
@Autowired
private SessionFactory sessionFactory;
...............
parameterised methods only....
}
Run Code Online (Sandbox Code Playgroud)
由于我没有定义任何作用域,因此默认作用域是单例。因此,每个容器只将CustomerService和CustomerDAO实例化一次,而且DAO类在开始时仅自动连接到Service类一次。将成为一个繁重的请求 Web应用程序,这意味着(或这意味着?),数百个线程将使用两个类的相同实例。
那么在这种情况下如何保证线程安全?
以及在xml中定义的hibernate sessionfactory bean的范围呢?
我对spring mvc应用程序中的bean作用域和线程安全性非常困惑。Springsource文档没有清楚地为Web应用程序解释这些内容。
谁能为我解释在请求繁重的Web应用程序中使用bean作用域(用于DAO,Service,Controller和其他bean)的最佳实践吗?
任何解释这些的链接都会令我感激。
感谢您的建议。
我是EJB的新手.我的经理告诉我在我们的测试服务器中部署一个ejb应用程序进行一些修改.该应用程序已在我们的生产服务器中运行.但是当我部署应用程序时,我得到了一个例外.
我们正在使用Glassfish Application Server
堆栈跟踪异常:
java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.ejb.Ejb3Configuration
at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:130)
at com.sun.enterprise.server.PersistenceUnitLoaderImpl.load(PersistenceUnitLoaderImpl.java:149)
at com.sun.enterprise.server.PersistenceUnitLoaderImpl.load(PersistenceUnitLoaderImpl.java:84)
at com.sun.enterprise.server.AbstractLoader.loadPersistenceUnits(AbstractLoader.java:915)
at com.sun.enterprise.server.ApplicationLoader.doLoad(ApplicationLoader.java:184)
at com.sun.enterprise.server.TomcatApplicationLoader.doLoad(TomcatApplicationLoader.java:126)
at com.sun.enterprise.server.ExtendedApplicationLoader.doLoad(ExtendedApplicationLoader.java:134)
at com.sun.enterprise.server.AbstractLoader.load(AbstractLoader.java:240)
at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:336)
at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:210)
at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:645)
at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeApplicationDeployEventListener(AdminEventMulticaster.java:959)
at com.sun.enterprise.admin.event.AdminEventMulticaster.handleApplicationDeployEvent(AdminEventMulticaster.java:943)
at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:467)
at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:182)
at com.sun.enterprise.admin.server.core.DeploymentNotificationHelper.multicastEvent(DeploymentNotificationHelper.java:308)
at com.sun.enterprise.deployment.phasing.DeploymentServiceUtils.multicastEvent(DeploymentServiceUtils.java:231)
at com.sun.enterprise.deployment.phasing.ServerDeploymentTarget.sendStartEvent(ServerDeploymentTarget.java:298)
at com.sun.enterprise.deployment.phasing.ApplicationStartPhase.runPhase(ApplicationStartPhase.java:132)
at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:108)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:966)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:609)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:653)
at com.sun.enterprise.admin.mbeans.ApplicationsConfigMBean.start(ApplicationsConfigMBean.java:773)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:390)
at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:373)
at com.sun.enterprise.admin.config.BaseConfigMBean.invoke(BaseConfigMBean.java:477)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:857)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:795)
at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown …Run Code Online (Sandbox Code Playgroud) 我正在使用Eclipse Europa IDE和Tomcat服务器 在Spring MVC Framework中开发Web应用程序
我的目录结构是(部分):
- WebContent
- WEB-INF
- pages
- CSS
- images
- login.html
- dispatcher-servlet.xml
- web.xml
Run Code Online (Sandbox Code Playgroud)
在我的login.html中,我有一个指向css文件的链接
<link rel="stylesheet" type="text/css" href="CSS/loginregister.css" media="screen">
Run Code Online (Sandbox Code Playgroud)
由于我的login.html和CSS文件夹位于同一文件夹"pages"中,我认为这样可行.
但不.css文件未加载(login.html显示顺利)
我也尝试过:
<href ="/ CSS/loginregister.css">
<href ="pages/CSS/loginregister.css">
我通过我的控制器类访问login.html .
我的网址是这样的:http://localhost:8080/AccountCreation/login.htm
谁能告诉我问题出在哪里?