小编wal*_*mon的帖子

整数除法:你如何产生双倍?

对于此代码块:

int num = 5;
int denom = 7;
double d = num / denom;
Run Code Online (Sandbox Code Playgroud)

价值d0.0.它可以通过强制转换来强制工作:

double d = ((double) num) / denom;
Run Code Online (Sandbox Code Playgroud)

但还有另一种方法可以获得正确的double结果吗?我不喜欢铸造原始人,谁知道会发生什么.

java casting integer-division

232
推荐指数
6
解决办法
36万
查看次数

需要廉价虚拟主机的Java开发人员的好选择

作为一名在服务器管理方面经验丰富且兴趣浓厚的程序员,在线提供空间有什么好的选择,这使得实现Java Web应用程序的实际开发和部署变得简单?

需求: - 通过非命令行界面创建或至少管理数据库的能力,即使它只需要使用到数据库管理器的远程连接 - 可以从远程服务器进行部署 - 将域连接到Java服务器上下文需要轻松完成(我不想手动管理像mod_jk这样的东西)

java hosting web-hosting

19
推荐指数
4
解决办法
2万
查看次数

Spring MVC - 下拉对象选择 - 没有主要标识符

一个相当常见的用例出现在有一个Java对象列表的地方,从中可以在Web表单上进行选择 - 通常你会使用对象的主键作为值,这样控制器可以进行查找,或者只是将密钥绑定到创建/更新的对象.

我的问题是,可供选择的列表不是持久的,键控对象,它们是来自服务的商业模型,没有合理的方法根据所包含的数据检索它们.下面是一些伪代码,其中给页面提供了Foo的列表,我们可以轻松地与控制器通信,提交Foo的名称,但是如果还有其他Foo字段需要提交呢?

控制器:

referenceData() {
    ...
    List foos = fooService.getFoosForBar( bar )
    return { 'foos', foos }
}
Run Code Online (Sandbox Code Playgroud)

JSP:

<form>
   ...
<spring:bind path="formData.foo">
    <select name="<c:out value="${status.expression}" />">
        <c:forEach items="${foos}" var="foo">
            <option value="<c:out value="${foo.name}"/>">
                <c:out value="${foo.name}"/>
            </option>
        </c:forEach>
    </select>
</spring:bind>
   ...
</form>
Run Code Online (Sandbox Code Playgroud)

一些示例解决方案是使用隐藏字段来提交Foo的其他属性并在选择更改时保持它们同步,但我不希望在这样的情况下使用JavaScript,这可能会增加混淆.当然还有其他方法可以实现这一目标.

我的问题是,是否存在完成此任务的标准做法?或者我应该想出自己的方式呢?如果可能的话,我宁愿不重新发明轮子,这看起来很普遍,只是它可能不是最好的方法.

java spring jsp spring-mvc

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

one-jar删除有关应用程序负载的详细警告信息

我正在使用Maven,使用one-jar插件,但是当我运行一个jar可执行文件时,我遇到了一堵警告墙,这是不可接受的

我看了看一坛子一切可以利用的资源,看看如何保持对运行时喷涌而出吨警告的罐子没有指令,有没有人解决了这个?

JarClassLoader: Warning: META-INF/LICENSE.txt in lib/commons-io-1.4.jar is hidden by lib/commons-collections-3.2.1.jar (with different bytecode)
JarClassLoader: Warning: META-INF/NOTICE.txt in lib/commons-io-1.4.jar is hidden by lib/commons-collections-3.2.1.jar (with different bytecode)
JarClassLoader: Warning: META-INF/LICENSE.txt in lib/commons-lang-2.4.jar is hidden by lib/commons-collections-3.2.1.jar (with different bytecode)
JarClassLoader: Warning: META-INF/NOTICE.txt in lib/commons-lang-2.4.jar is hidden by lib/commons-collections-3.2.1.jar (with different bytecode)
Run Code Online (Sandbox Code Playgroud)

java maven-2

13
推荐指数
3
解决办法
6616
查看次数

Spring 3 Annotations - HibernateDaoSupport - 存储库需要Session Factory

我得到一个例外说:

java.lang.IllegalArgumentException:'sessionFactory'或'hibernateTemplate'是必需的

尝试@Repository在HibernateDaoSupport类上使用注释时.错误消息很简单,为了创建存储库,它需要一个sessionFactory.但是,我在XML中定义了一个会话工厂:

<!-- Hibernate -->
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <property name="dataSource" ref="dashDataSource" />
        <property name="annotatedClasses">
            <list>
                <value>com.mycomp.myapp.Category</value>
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
            </props>
        </property>
    </bean>
Run Code Online (Sandbox Code Playgroud)

所以我不确定如何在创建它的注释驱动bean时为存储库提供它所需的SessionFactory,我尝试执行以下操作:

 @Autowired
    protected HibernateTemplate createHibernateTemplate(SessionFactory sessionFactory) {
        return super.createHibernateTemplate(sessionFactory);
    }
Run Code Online (Sandbox Code Playgroud)

但这并不能解决问题,可能是因为存储库在实例化时需要该属性,而不仅仅是在执行操作时.不幸的是,我不知道如何解决这个问题,因为没有构造函数或初始化方法来覆盖@Autowired注释.

我检查确保正在创建sessionFactory bean并且可以是Autowired,这很好.

spring annotations hibernate autowired

12
推荐指数
2
解决办法
2万
查看次数

JAXB工作流程 - 如何使用JAXB

JAXB文档就像一本教科书,在我需要使用它之前,我根本没有时间学习JAXB.

我有一个XSD,如果我想使用JAXB来编组和解组什么是工作流程?

我不需要任何细节只是一个高级别的视图.

我所知道的:1.JAXB可用于获取对象并从中创建XML文档,反之亦然2.它使用了一些名为"XJC"的神秘工具,我无法在其网站上找到ANYWHERE的下载3. XJC基于XSD为您创建类

首先,我如何找到XJC?我实际上知道它安装在我的系统上,不知道我从哪里得到它.
其次,无论这个工具是什么以及如何进入我的机器,如何使用最新版本的JAXB运行它?第三,所以如果我的XSD更改,我真的必须重新创建整个Java对象,因此可能使我的所有测试无效吗?或者我可以将对象定义为XSD映射,以便我控制映射,而不是默认代码生成?

我主要习惯于使用XML并使用类似xStream的东西来手动解组,但这不再是我的目的选项.

jaxb xml-serialization marshalling

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

Spring MVC - JSP - 存储环境特定常量的地方

在Spring-MVC/JSP应用程序中,您将存储需要由控制器和视图访问的内容,例如特定于环境的base_url,要在javascript中使用的应用程序ID等等?

我已经尝试创建一个应用程序范围的bean,然后<jsp:useBean>在我的JSP的顶部,但这似乎没有工作.

   <!-- Environment -->
    <bean id="myEnv" class="com.myapp.MyAppEnvironment" scope="application">
        <property name="baseUrl" value="http://localhost:8080/myapp/"/>
        <property name="videoPlayerId" value="234346565"/>
    </bean>
Run Code Online (Sandbox Code Playgroud)

并以下列方式使用它

<jsp:useBean id="myEnv" scope="application" type="com.myapp.MyAppEnvironment"/>
Run Code Online (Sandbox Code Playgroud)

java spring jsp spring-mvc

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

如何优化数据库中的查询 - 基础知识

似乎关于这个主题的所有问题都是非常具体的,虽然我重视具体的例子,但我对SQL优化的基础知识很感兴趣.我非常适合在SQL中工作,并且具有硬件/低级软件的背景知识.

我想要的是有形软件的工具,以及查看我定期查看的mysql数据库的方法,并了解join语句和where语句之间的区别.

我想知道为什么索引有助于确切原因.我想知道具体发生了什么,我想知道如何才能真正看到正在发生的事情.我不需要一个会破坏我SQL的每一步的工具,我只是想能够四处寻找,如果有人不能告诉我要索引的列,我将能够得到一张纸和在一段时间内能够拿出答案.

数据库很复杂,但它们并不复杂,并且必须有一些很好的材料来学习基础知识,这样你才能知道如何找到你遇到的优化问题的答案,即使可以找到一个确切的答案.论坛.

请推荐一些简洁,直观,并且不怕低级螺母和螺栓的阅读.我更喜欢在线免费资源,但是如果一本书的推荐拆除钉头,我会考虑接受它.

mysql sql database optimization query-optimization

6
推荐指数
2
解决办法
1653
查看次数

Spring Web Services - 异常跳过ExceptionResolver

我有一个SOAP服务,如果我为XML元素指定了错误的输入,请求和响应按预期工作,输入良好

在请求正文中:

...
<ns:myIntegerElement>asdf</ns:myIntegerElement>
...
Run Code Online (Sandbox Code Playgroud)

我的异常解析器被调用,这个解析器只是异常解析器的一个实现,因此它没有异常映射,只是抽象方法中的一些System.out

<bean id="exceptionResolver" class="com.mycompany.ws.MyExceptionResolver">
Run Code Online (Sandbox Code Playgroud)

但是,如果我发送的请求看起来更像这样:

...
    <ns:myIntegSOMETHINGGOTTOTALLYMESSUP!!!ent>asdf</ns:myIntegerElement>
...
Run Code Online (Sandbox Code Playgroud)

我的解析器根本没有执行

我将log4j设置为具有根调试级别并查看此输出:

2010-08-09 10:30:01,900 [主题:http-8080-2] DEBUG [org.springframework.ws.transport.http.WebServiceMessageReceiverHandlerAdapter] - 接受传入[org.springframework.ws.transport.http.HttpServletConnection@c46dcf ]到[ http:// localhost:8080/myws/MyWebServices /] 错误:'元素类型"ns:MESSEDUPELEMENT"必须由匹配的结束标记""终止." 2010-08-09 10:30:01,920 [主题:http-8080-2] DEBUG [org.springframework.ws.transport.http.MessageDispatcherServlet] - 无法完成请求org.springframework.ws.soap.saaj.SaajSoapMessageException:无法访问信封:无法从给定来源创建信封:; 嵌套异常是com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl:无法从给定的源创建信封:org.springframework.ws.soap.saaj.support.SaajUtils.getSaajVersion(SaajUtils.java:162)at org .springframework.ws.soap.saaj.SaajSoapMessage.getImplementation(SaajSoapMessage.java:251)org.springframework.ws.soap.saaj.SaajSoapMessage.(SaajSoapMessage.java:位于org.springframework.ws.soap.saaj.support.SaajUtils.getSaajVersion的com.sun.xml.internal.messaging.saaj.soap.SOAPPartImpl.getEnvelope(SOAPPartImpl.java:122)中的createEnvelopeFromSource(SOAPPart1_1Impl.java:70)( SaajUtils.java:159)... 24更多引起:javax.xml.transform.TransformerException:org.xml.sax.SAXParseException:元素类型"smm:smm-aid"必须由匹配的结束标记终止" ".在com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:719)的com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl. java:313)在com.sun.xml的com.sun.xml.internal.messaging.saaj.util.transform.EfficientStreamingTransformer.transform(EfficientStreamingTransformer.java:393).internal.messaging.saaj.soap.EnvelopeFactory.createEnvelope(EnvelopeFactory.java:102)... 27更多引起:org.xml.sax.SAXParseException:元素类型"smm:smm-aid"必须由匹配终止结束标记"".at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1231)at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl $ JAXPSAXParser.parse(SAXParserImpl.java: 522)在com的com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:636)的org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:333) .sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:707)... 30更多 createEnvelope(EnvelopeFactory.java:102)... 27更多引起:org.xml.sax.SAXParseException:元素类型"smm:smm-aid"必须由匹配的结束标记""终止.at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1231)at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl $ JAXPSAXParser.parse(SAXParserImpl.java: 522)在com的com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:636)的org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:333) .sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:707)... 30更多 createEnvelope(EnvelopeFactory.java:102)... 27更多引起:org.xml.sax.SAXParseException:元素类型"smm:smm-aid"必须由匹配的结束标记""终止.at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1231)at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl $ JAXPSAXParser.parse(SAXParserImpl.java: 522)在com的com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:636)的org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:333) .sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:707)... 30更多 元素类型"smm:smm-aid"必须由匹配的结束标记""终止.at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1231)at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl $ JAXPSAXParser.parse(SAXParserImpl.java: 522)在com的com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:636)的org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:333) .sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:707)... 30更多 元素类型"smm:smm-aid"必须由匹配的结束标记""终止.at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1231)at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl $ JAXPSAXParser.parse(SAXParserImpl.java: …

java soap web-services spring-ws

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

使用Spring-MVC降低Java Web应用程序中的部署频率

是否有一种简单的方法可以将"服务层"与Web层分开部署,这样我就可以减少每周必须包装,打包,构建和部署整个WAR文件的次数?

我主要使用Tomcat,但我希望Java Web服务器更通用.

java spring service-layer

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