如何使用C++从派生类调用父函数?例如,我有一个名为的类parent,以及一个child从父派生的类.每个班级都有一个print功能.在孩子的打印功能的定义中,我想调用父母的打印功能.我该怎么做呢?
我有一个名为Status的枚举定义如下:
public enum Status {
VALID("valid"), OLD("old");
private final String val;
Status(String val) {
this.val = val;
}
public String getStatus() {
return val;
}
}
Run Code Online (Sandbox Code Playgroud)
我想VALID从JSTL标签访问值.特别test是<c:when>标签的属性.例如
<c:when test="${dp.status eq Status.VALID">
Run Code Online (Sandbox Code Playgroud)
我不确定这是否可行.
如果您要在将用户密码发送到线路之前对其进行哈希处理并将其保留为内存中的纯文本,这是否会提高应用程序的安全性?
我认为这可以通过保护存储在客户端内存中的数据来减轻一小部分漏洞.但实际上,如果我们担心有人在阅读客户的记忆,那么可能存在我们无法解决的更大问题.
在客户端有一些对哈希感觉不正确的事情.
客户端密码散列是否常见?这样做还有其他优点或缺点吗?
编辑:鉴于通信渠道是安全的(SSL).在什么条件下使用这种方法是可以接受和值得的.我问这个是因为"安全专家"建议我在某些应用程序功能中使用这样的方案.
鉴于以下课程:
using System.ComponentModel.DataAnnotations;
public class Book{
public Contact PrimaryContact{get; set;}
public Contact SecondaryContact{get; set;}
[Required(ErrorMessage="Book name is required")]
public string Name{get; set;}
}
public class Contact{
[Required(ErrorMessage="Name is required")]
public string Name{get; set;}
}
Run Code Online (Sandbox Code Playgroud)
有没有干净的方式我可以给每个实例的不同错误信息Contact中Book使用DataAnnotations?例如,如果PrimaryContact实例中缺少名称,则错误将显示为"需要主要联系人姓名".
我目前的解决方案是创建一个验证服务,检查模型状态是否存在字段错误,然后删除所述错误并使用我喜欢的特定语言将其添加回来.
有没有办法从主日食窗口中分离编辑器?我知道这对于netbeans是可能的,但到目前为止我还没有弄清楚如何使用eclipse(如果可能的话).
我正在尝试单元测试(JUnit)我创建的DAO.我使用Spring作为我的框架,我的DAO(JdbcPackageDAO)扩展了SimpleJdbcDaoSupport.测试类(JdbcPackageDAOTest)扩展了AbstractTransactionalDataSourceSpringContextTests.我已经覆盖了configLocations,如下所示:
protected String[] getConfigLocations(){
return new String[] {"classpath:company/dc/test-context.xml"};
}
Run Code Online (Sandbox Code Playgroud)
我的test-context.xml文件定义如下:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="dataPackageDao" class="company.data.dao.JdbcPackageDAO">
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.hsqldb.jdbcDriver"/>
<property name="url" value="jdbc:hsqldb:hsql://localhost"/>
<property name="username" value="sa" />
<property name="password" value="" />
</bean>
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>company/data/dao/jdbc.properties</value>
</list>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
</beans>
Run Code Online (Sandbox Code Playgroud)
我使用HSQL作为我的后端,它以独立模式运行.我选择的IDE是eclipse.当我作为JUnit测试运行类时,这是我的错误(下面).我不知道为什么会发生这种情况.根据Eclipse,hsql.jar在我的构建路径上.
org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: No suitable driver found for jdbc:hsqldb:hsql://localhost
at … 我失去了为什么spring没有在我的服务接口上强制执行@Secured("ROLE_USER").我的控制器是使用注释建立的.
我的服务接口的一个例子
public interface MyServiceManager {
@Secured("ROLE_USER")
public void delete(int cid);
@RolesAllowed({"ROLE_USER"})
public Contact getContact(int contactId);
}
Run Code Online (Sandbox Code Playgroud)
我的安全上下文:
<global-method-security secured-annotations="enabled" jsr250-annotations="enabled">
</global-method-security>
<http auto-config="true" >
<intercept-url pattern="/secure/**" access="ROLE_SUPERVISOR" />
<intercept-url pattern="/addcontact**" access="IS_AUTHENTICATED_REMEMBERED" />
<intercept-url pattern="/**" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<concurrent-session-control max-sessions="1"
exception-if-maximum-exceeded="true"/>
<form-login login-page="/login.jsp" authentication-failure-url="/login.jsp?login_error=1"/>
<logout logout-success-url="/welcome.do" logout-url="/logout"/>
</http>
<authentication-provider>
<password-encoder hash="md5"/>
<user-service>
<user name="rod" password="a564de63c2d0da68cf47586ee05984d7" authorities="ROLE_SUPERVISOR, ROLE_USER, ROLE_TELLER" />
</user-service>
</authentication-provider>
Run Code Online (Sandbox Code Playgroud) 我已经尝试在最近2天找出这个问题而没有运气.我只是尝试使用spring框架和hibernate创建基于注释的JUnit测试.
我的IDE是netbeans 6.5,我使用的是hibernate 3,spring 2.5.5和JUnit 4.4.
这是我得到的错误:
Testcase: testFindContacts(com.mycontacts.data.dao.MyContactHibernateDaoTransactionTest): Caused an ERROR
Failed to load ApplicationContext
java.lang.IllegalStateException: Failed to load ApplicationContext
at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:203)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:109)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75)
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:255)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:93)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.invokeTestMethod(SpringJUnit4ClassRunner.java:130)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [shared-context.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)V
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1337)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at …Run Code Online (Sandbox Code Playgroud) 这是我的情况:
interface Icontainer{
string name();
}
abstract class fuzzyContainer : Icontainer{
string name(){
return "Fuzzy Container";
}
}
class specialContainer: fuzzyContainer{
string name(){
return base.name() + " Special Container";
}
}
Icontainer cont = new SpecialContainer();
cont.name(); // I expected "Fuzzy Container Special Container" as the output.
Run Code Online (Sandbox Code Playgroud)
当我如上所述运行我的代码时,输出只是"模糊容器".我在这里失踪了什么?有没有更好的方法来获得理想的结果?
java ×5
annotations ×2
c# ×2
eclipse ×2
junit ×2
security ×2
spring ×2
asp.net-mvc ×1
c++ ×1
client-side ×1
hibernate ×1
hsqldb ×1
http ×1
https ×1
inheritance ×1
java-ee ×1
jsp ×1
jstl ×1
netbeans6.5 ×1
oop ×1
polymorphism ×1
testing ×1
validation ×1