我在Eclipse Helios 3.6中设置了一个Maven项目.它构建和部署完美.但它在我的项目中显示了红色标记,并显示了许多JSP问题.我想以某种方式摆脱问题视图中的这些JSP验证问题.JSP问题的一个例子是ArrayList无法解析为一个类型.我为此做的是在window-> preferences-> web-> jsp files-> validation我已经取消选中了validate jsp片段除此之外,我右键单击了我的项目.转到属性 - >验证然后选中挂起所有验证器复选框,但是我在问题视图中看到相同的问题,并在我的项目中看到红色标记?
弹簧有两种类型的DI:定位器DI和结构DI.
基于构造函数的DI修复了需要注入依赖项的顺序.基于Setter的DI不提供此功能.
基于Setter的DI帮助我们仅在需要时注入依赖项,而不是在构造时需要它.
我没有看到任何其他显着差异,因为两种类型的Spring DI都提供相同的功能 - 设置器和构造函数DI在代码启动时注入依赖关系.当然,构造函数DI将通过构造函数执行,而setter DI将在构造对象后立即通过setter执行它,但它在性能等方面对开发人员没有任何影响.两者都提供了指定顺序的方法依赖注入也是如此.
我正在寻找一个场景,其中一个提供明显优势,或一个类型完全无法使用.
在大多数Web应用程序中,我看到一个基类包含公共属性和扩展基类的子类数.所以我的问题是我们应该在Table Per Subclass Vs Table Per Tables中采用哪种策略.我个人认为我们应该为每个子类使用表格,因为将来如果我们想要引入公共列,我们可以在一个地方进行,但是在具体类的情况下,我们必须在多个表中进行.对?
但是如果我们想从所有子表中获取所有deatils,我认为每个具体类的表将有用因为我们必须简单地将所有表中的记录联合起来,但是如果是每个Sub类的表以及union,我们必须引入连接与父表,这将是额外的成本.对?
@CachePut or @Cacheable(value = "CustomerCache", key = "#id")
public Customer updateCustomer(Customer customer) {
sysout("i am inside updateCustomer");
....
return customer;
}
Run Code Online (Sandbox Code Playgroud)
我在CachePut源代码下找到了以下文档
CachePut注释不会导致跳过目标方法 - 而是始终导致调用该方法并将其结果放入缓存中.
这是否意味着如果我使用@Cacheable,updateCustomer方法将只执行一次,结果将在缓存中更新.对updateCustomer的后续调用将不会执行updateCustomer,它只会更新缓存.
在这种情况下@CachePut,updateCustomer将在每次调用时执行方法,结果将在缓存中更新.
我的理解是否正确?
我想在我的参数图中添加一个新参数HttpServletRequest.
以下代码
request().getParameterMap().put("j_username", user);
request().getParameterMap().put("j_password", pwd);
Run Code Online (Sandbox Code Playgroud)
创建此错误
no modifications are allowed to a locked parameter map
Run Code Online (Sandbox Code Playgroud)
这样做的正确方法是什么?
我试图查看pl/sql过程和函数之间的区别,并找到链接http://it.toolbox.com/blogs/oracle-guide/learn-plsql-procedures-and-functions-13030.首先让我告诉你开发人员通常用pl/sql过程和函数做什么
1)想获得一些回报值.他可以用函数和程序来解决它.如果他想要返回单个值的函数,他可以使用return语句.如果他想要返回多个值,他可以使用inout参数来实现它.他可以使用inout参数从过程中获取返回值(不是使用return语句)
但只要他能够使用return语句或inout参数实现其意图,它对开发人员没有任何影响.
所以这里也可以互相替换.
2)他可以在功能和程序中使用DML.所以在这里他也可以使用其中任何一个来改变数据库的状态.
所以我没有得到任何具体的推理,哪一个可以在一些人可以互相替换.
我在某种程度上发现的唯一合理的原因是函数可以从SQL调用,程序不能
有人可以解释哪一个使用的时间和原因?
使用tomcat,我有两个web应用程序,即app1和app2.我将app1以加密形式(使用下面的代码)发送到app2.然后在app2我解密了这个加密的网址.但是我在decryp方法的第50行低于例外.
"Getting javax.crypto.IllegalBlockSizeException: Input length must be multiple of 16 when decrypting with padded cipher"
Run Code Online (Sandbox Code Playgroud)
虽然我尝试在app1解密(使用相同代码)加密的URL时进行调试,但它工作正常.但无法弄清楚在app2引起此异常的原因是什么?
这是代码
import java.security.Key;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
public class AESEncryptionDecryptionTest {
private static final String ALGORITHM = "AES";
private static final String myEncryptionKey = "ThisIsFoundation";
private static final String UNICODE_FORMAT = "UTF8";
public static String encrypt(String valueToEnc) throws Exception {
Key key = generateKey();
Cipher c = Cipher.getInstance(ALGORITHM);
c.init(Cipher.ENCRYPT_MODE, key);
byte[] encValue = c.doFinal(valueToEnc.getBytes());
String encryptedValue = new …Run Code Online (Sandbox Code Playgroud) 以下是spring中原型和请求范围的定义.
prototype将单个bean定义范围限定为任意数量的对象实例.
request将单个bean定义范围限定为单个HTTP请求的生命周期; 也就是说,每个HTTP请求都有自己的bean实例,它是在单个bean定义的后面创建的.仅在Web感知Spring ApplicationContext的上下文中有效.
根据我的理解在原型范围的情况下,一些池将由核心容器维护.它将从该池中提供bean实例.在请求范围的情况下,将为每个http请求提供新bean.如果理解中存在某些相关性,请纠正我?
如果以上语句为真,那么如果bean保持某种状态,则不应将范围定义为原型,而应将其定义为请求.正确?
我正在开发基于开源java的应用程序,即xwiki.insie hibernate.cfg.xml我可以看到参数connection.pool_size和statement_cache.siz的值为2(对于每个).我的应用程序将在最多时间内拥有100个用户.现在我的问题是什么应该是理想的连接池大小.对我来说,2号看起来很少.如果一次连接100个用户98用户必须等待grtting连接被释放?在我的情况下,我应该将连接池大小保持为100吗?
我正在使用microsoft sql server.
除此之外,最大连接池大小也有限制.它依赖于webserver(在我的情况下是tomcat)还是数据存储供应商(ms sql server)?
java sql-server database-connection connection-pooling flexy-pool
我想第一次在hibernate中创建数据库模式.而且,如果模式中有任何修改,例如添加新表或删除某些列,我想更新现有模式,保持以前的数据不变.
根据此问题给出的选项,看起来我可以创建模式破坏以前的数据,或者我可以更新模式.
有什么价值可以兼得吗?
java ×6
spring ×3
hibernate ×2
sql ×2
caching ×1
eclipse ×1
encryption ×1
flexy-pool ×1
hbm2ddl ×1
jsp ×1
oracle ×1
plsql ×1
servlets ×1
sql-server ×1