问题列表 - 第26222页

如何在Spring中强制要求属性文件中的属性?

我有一个带有以下节点的ApplicationContext.xml文件:

<context:property-placeholder 
location="classpath:hibernate.properties, classpath:pathConfiguration.properties" />
Run Code Online (Sandbox Code Playgroud)

它指定properties我的应用程序将使用这两个文件.

在内部pathConfiguration.properties,定义了一些路径,例如:

PATH_ERROR=/xxx/yyy/error
PATH_SUCCESS=/xxx/yyy/success
Run Code Online (Sandbox Code Playgroud)

一个PathConfigurationbean的每个路径的制定者.

问题是:当未定义某些必需路径时,不会引发任何错误.我应该如何以及在哪里处理这个问题?

java error-handling spring javabeans

8
推荐指数
1
解决办法
2114
查看次数

如何将弹簧控制器映射到扩展名为.jsp的URL?

我们正在将仅限jsp的应用程序迁移到Spring-MVC.由于各种原因,我们无法更改当前页面的扩展名.(对login.jsp的调用需要由将使用jsp文件作为视图的spring控制器处理).

我们正在迭代地执行此操作,因此一些页面需要保留jsp文件(对welcome.jsp的调用将不会由控制器处理).

为此,我将DispatcherDervlet和HandlerMapping映射到*.jsp,并以标准方式配置JstlView.

不幸的是,如果我浏览到//login.jsp,我会收到错误消息

<No mapping found for HTTP request with URI [/<context>/WEB-INF/jsp/login.jsp] in DispatcherServlet with name 'spring'>
Run Code Online (Sandbox Code Playgroud)

如果我将.jsp更改为DispatcherServlet和HandlerMapping中的任何其他扩展名,则一切正常.

web.xml中:

<servlet>
    <servlet-name>spring</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>*.jsp</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

为spring-servlet.xml:

<!-- View resolver -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
    <property name="prefix" value="/WEB-INF/jsp/"/>
    <property name="suffix" value=".jsp"/>
</bean>

<!-- URL Mapping -->
<bean id="publicUrlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="urlMap">
        <map>
            <entry key="/login.jsp" value-ref="loginController"/>
        </map>
    </property>
</bean>
Run Code Online (Sandbox Code Playgroud)

非常感谢.

更新:我刚刚验证过,如果我将.jsp文件重命名为其他东西(.jst)并相应地更新viewResolver,那么一切正常.显然,如果视图被解析为扩展名为.jsp的文件,spring会尝试将视图转发到另一个控制器.

java spring jsp tomcat spring-mvc

6
推荐指数
1
解决办法
7759
查看次数

将验证码放在登录表单上是不道德的吗?

在最近的一个项目中,我在登录表单上放置了验证码测试,以阻止可能的暴力攻击.

其他同事的直接反应是要求将其删除,并说它是为了这个目的而不合适的,并且在那个地方看到验证码是非常奇特的.

我已经在注册,联系人,密码恢复表格等上看过验证码图片.所以我个人并没有看到inapropiate也把验证码放在这样的地方.好吧,它显然会降低可用性,但这只是时间问题而已经习惯了.

由于缺少验证码测试,人们不得不设置某种黑名单/帐户锁定机制,这也有一些缺点.

这对你来说是个不错的选择吗?我是否有点过敏症,需要某种团体治疗?

提前致谢.

security authentication captcha login

19
推荐指数
3
解决办法
8324
查看次数

创建一个可以在C++中保存不同类的对象的数组

如何创建一个可以在C++中保存不同类的对象的数组?

c++ arrays polymorphism

5
推荐指数
2
解决办法
3303
查看次数

Mysql计数列

我有一个图表库的表,有四列,如:

foid | uid | pic1  | pic2  | pic3  | date     |
-----------------------------------------------
104  |  5  | 1.jpg | 2.jpg | 3.jpg | 2010-01-01
105  | 14  | 8.jpg |       |       | 2009-04-08
106  | 48  | x.jpg | y.jpg |       | 2010-08-09
Run Code Online (Sandbox Code Playgroud)

用户画廊的Mysql查询如下:

SELECT * FROM foto WHERE uid = $id order by foid DESC
Run Code Online (Sandbox Code Playgroud)

我想要做的是计算每个列出的图库中的图像数量(PIC1,PIC2,PIC3).

这样做的最佳方式是什么?

mysql select count

1
推荐指数
1
解决办法
688
查看次数

使用JAXB 2.1将多个模式编译到不同的包中

我有一个CommonTypes.xsd,我使用xs:include包含在我的所有其他XSD中.我明白了

Multiple <schemaBindings> are defined for the target namespace ""
Run Code Online (Sandbox Code Playgroud)

当我尝试使用绑定文件将其编译到不同的包中时.请告诉我是否有办法将它们编译成不同的包.我正在使用jaxb 2.1

jaxb

11
推荐指数
3
解决办法
3万
查看次数

compareTo和嵌套的枚举

在" Java SCJP认证程序员指南 "中,我找到了一个我无法遵循的例子.

这个给定的枚举:

enum Scale3 {
    GOOD(Grade.C), BETTER(Grade.B), BEST(Grade.A);

    enum Grade {A, B, C}

    private Grade grade;

    Scale3(Grade grade) {
        this.grade = grade;
    }

    public Grade getGrade() { return grade; }
}
Run Code Online (Sandbox Code Playgroud)

这是给定的表达式:

Scale3.GOOD.getGrade().compareTo(Scale3.Grade.A) > 0;
Run Code Online (Sandbox Code Playgroud)

我不明白为什么这个表达式会是真的?
返回值为2.

如果给定对象比对象"小",compareTo()将返回值> 0.

Scale3.Grade.A是Grades的"最大"元素,其序数为0.

Scale3.GOODScale3的"最大"元素,其序数也是0.

的构造Scale3被调用Scale3.Grade.C,其序号为2.

所以给定的表达式等于以下代码:

Scale3.Grade.C.compareTo(Scale3.Grade.A) > 0;
Run Code Online (Sandbox Code Playgroud)

AC大" ,所以不应该是<0?

java

1
推荐指数
1
解决办法
358
查看次数

iPhone UIWebView:loadData不适用于某些类型(Excel,MSWord,PPT,RTF)

我的任务是在OS 3.x的iPhone上显示支持的文档类型,例如.pdf,.rtf,.doc,.ppt,.png,.tiff等.

现在,我已将这些文件仅加密存储在磁盘上.出于安全考虑,我希望避免将它们以未加密的方式存储在磁盘上.

因此,我更喜欢使用loadData:MIMEType:textEncodingName:baseURL:而不是loadRequest:显示文档,因为loadData允许我传递NSData对象中的内容,即我可以在内存中解密文件而不需要将其存储在磁盘上,因为在使用时需要它loadRequest.

问题是loadData似乎不适用于所有文件类型:

测试显示所有图片类型似乎都可以正常工作,而PDF则更好,而更复杂的类型则不然.我得到一个错误,如:

NSURLErrorDomain Code=100
NSURLErrorDomain Code=102
Run Code Online (Sandbox Code Playgroud)

WebView似乎需要一个真正有效的URL来访问文档作为文件,尽管我已经通过NSData对象提供了所有内容.

这是我用来显示内容的代码:

[webView loadData:data MIMEType:type textEncodingName:@"utf-8" baseURL:nil];
Run Code Online (Sandbox Code Playgroud)

mime-type被正确设置,例如为.doc文件的"application/msword".

有谁知道如何loadData使用loadRequest支持的所有类型?或者,是有一些方法可以让我知道哪些类型做的工作是肯定的(即由苹果官方认可)与loadData?然后我可以双重工作,只为loadData不喜欢的情况创建一个临时未加密的文件.

更新

看起来我不是第一个碰到这个的人.看这里:

http://osdir.com/ml/iPhoneSDKDevelopment/2010-03/msg00216.html

所以,我猜,这是现状,我无能为力.

有人提出了可能有效的解决办法:

http://osdir.com/ml/iPhoneSDKDevelopment/2010-03/msg00219.html

基本上,我们的想法是提供一个服务于文件的小型http服务器(在我的情况下来自内存),然后使用loadRequest.这可能是内存密集型的,因为服务器和webview可能都将内存中的全部内容保存为两个副本,而不是使用loadData,两者都希望共享相同的数据对象.(请注意,我必须将解密数据保存在内存中,这就是重点).

iphone webkit uiwebview

11
推荐指数
1
解决办法
9168
查看次数

Singleton可以被Factory取代吗?

关于Singleton-Pattern已经有很多帖子了,但是我想在这个主题上再开一个,因为我想知道Factory-Pattern是否是删除这种"反模式"的正确方法.

在过去,我使用了单身人士,也是我的同事,因为它很容易使用.例如,Eclipse IDE或更好的工作台模型也会大量使用单例.这是由于一些关于E4(下一个大型Eclipse版本)的帖子让我开始重新思考单身人士.

最重要的是,由于这些单例,Eclipse 3.x中的依赖性是紧密耦合的.

让我们假设我想彻底摆脱所有单身人士,而不是使用工厂.
我的想法如下:

  • 隐藏复杂性
  • 耦合较少
  • 我可以控制创建了多少个实例(只需将引用存储为工厂的私有字段)
  • 当它在接口后面时,模拟工厂进行测试(使用依赖注入)
  • 在某些情况下,工厂可以使一个以上的单件过时(取决于业务逻辑/组件组成)

这有意义吗?如果没有,请说明您为什么这么认为的原因.还可以理解替代解决方案.

谢谢

singleton design-patterns factory

5
推荐指数
2
解决办法
2642
查看次数

查找数组中添加/删除元素的算法

我正在寻找解决以下问题的最有效方法

问题:

given an array Before = { 8, 7, 2, 1} and an array After ={1, 3, 8, 8}
find the added and the removed elements

the solution is:
        added = 3, 8 
        removed = 7, 2
Run Code Online (Sandbox Code Playgroud)

到目前为止我的想法是:

for i = 0 .. B.Lenghtt-1
{
    for j= 0 .. A.Lenght-1
    {
        if A[j] == B[i]

            A[j] = 0;
            B[i] = 0;

            break;
    }
}

// B elemnts different from 0 are the Removed elements
// A elemnts different from …
Run Code Online (Sandbox Code Playgroud)

language-agnostic arrays algorithm

8
推荐指数
3
解决办法
669
查看次数