小编Uch*_*nwu的帖子

在Amazon Cloud上部署Java Web应用程序

我有一个使用Struts2,JSP,JPA,Spring和MySql开发的Web应用程序.我想将此应用程序移至Amazon Cloud.我之前没有完成云部署或知道如何做.任何人都可以帮我逐步完成一个过程或一个程序或一个指导我这样做的文件.谢谢你的帮助.

spring struts2 amazon-ec2

14
推荐指数
2
解决办法
8134
查看次数

为什么java if语句在以分号结尾时失败

我在处理应用程序时犯了编码错误,这是对null引用的测试.我花了几个小时来发现问题是什么,但我不明白的是为什么代码表现如此.

String name = null;
String value = null;

if(name != null && value != null);
{
    System.out.println("Values not null");
}
Run Code Online (Sandbox Code Playgroud)

if语句结束了;,这是我的错误,Values not null即使很明显两个值都为空,也会打印出来.谁能解释为什么?

java

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

如何使用JPA 2.0 @ManyToMany没有问题

我正在使用JPA 2.0Spring在我的开发中.我的实体类包含两个@ManyToMany关系.

@Entity("payment")
 public class PaymentData implements Serializable
{
    private Long pk;

    private Collection<PaymentItemData> paymentItem;
    /**
     *  minorPaymentItem
     *
     */
    private Collection<MinorPayItemData> minorPaymentItem;

    @ManyToMany(fetch=FetchType.EAGER)
    @JoinTable(name = "payitem_m_assig",
    joinColumns =
    @JoinColumn(name = "pay_item_id", nullable = false),
    inverseJoinColumns =
    @JoinColumn(name = "minor_pay_item_id", nullable = false))
    public Collection<MinorPayItemData> getMinorPaymentItem()
    {
        return minorPaymentItem;
    }

    /**
     * @param minorPaymentItem the minorPaymentItem to set
     */
    public void setMinorPaymentItem(final Collection<MinorPayItemData> value)
    {
        this.minorPaymentItem = value;
    }

    @ManyToMany(fetch=FetchType.EAGER)
    @JoinTable(name = "payitem_assigned",
    joinColumns …
Run Code Online (Sandbox Code Playgroud)

hibernate jpa struts2 jpa-2.0

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

为什么我的方法没有看到null Object

我好像不明白这一点.

public class NewClass {
    public static void main(String[] args) {
        Object obj = null;
        myMethod(obj);
    }

    public static void myMethod(Object... objArr) {
        if(objArr != null) {
            System.out.println("I am not null");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

令我惊讶的I am not null是,打印在控制台上.为什么myMethod没有将传递的obj参数视为null.

java

7
推荐指数
2
解决办法
211
查看次数

Java Web Services - Axis是否必要?

Java Web服务是AXISCXF必需的?可以通过JDK(1.6)完成吗?

java axis axis2 web-services cxf

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

重写spring-security重定向URL

我正在尝试让Tuckey UrlRewriteFilter为我的webapp整理网址.我遇到的一个问题是,当spring-security注意到匿名用户试图访问受保护资源时,它会重定向到包含servlet路径的URL.

我想要的是,例如:

> GET http://localhost:8080/my-context/protected-resource
< Location: http://localhost:8080/my-context/login
Run Code Online (Sandbox Code Playgroud)

我目前得到的是:

> GET http://localhost:8080/my-context/protected-resource
< Location: http://localhost:8080/my-context/-/login
Run Code Online (Sandbox Code Playgroud)

到目前为止我找到的相关文件:

DefaultRedirectStrategy,它执行有问题的实际重定向:http://static.springsource.org/spring-security/site/docs/3.0.x/apidocs/org/springframework/security/web/DefaultRedirectStrategy.html.它有一个很有诱惑力的contextRelative属性,但如果我能找到一种配置它的方法,我认为不会削减它.

一篇博文,帮助我解决了这个问题:http://nonrepeatable.blogspot.com/2009/11/using-spring-security-with-tuckey.html

我想知道的是:

  1. 可以/我应该说服Tuckey重写Location标头.<outbound-rule>似乎对此没有任何帮助.
  2. 可以/我应该以某种方式调整SS配置以发出重写的URL.我认为这不是很整洁,因为如果禁用重写就会中断.

web.xml 好像

<filter>
    <filter-name>UrlRewriteFilter</filter-name>
    <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
    <init-param>
        <param-name>LogLevel</param-name>
        <param-value>log4j</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>UrlRewriteFilter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
</filter-mapping>

<filter>
    <filter-name>springSecurityFilterChain</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
    <filter-name>springSecurityFilterChain</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
    <dispatcher>ERROR</dispatcher>
</filter-mapping>

<servlet>
    <servlet-name>my-servlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>psms</servlet-name>
    <url-pattern>/-/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

urlrewrite.xml 好像:

<urlrewrite>
    <rule>
        <from>^/(.*)$</from>
        <to>/-/$1</to>
    </rule>
</urlrewrite>
Run Code Online (Sandbox Code Playgroud)

applicationContent-security.xml 好像:

<http auto-config="true">
    <!-- allow GET …
Run Code Online (Sandbox Code Playgroud)

java spring-mvc url-rewriting spring-security tuckey-urlrewrite-filter

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

在Jqgrid中显示Enum描述而不是Enum

我有一个用Java编写的Enum:

public enum Status
{
  ACTIVE("Active"), IN_ACTIVE("InActive");

  Status(String desc)
  {
    this.description = desc;
  }

  private String description;

  public String getDescription()
  {
    return description;
  }

  public void setDescription(String desc)
  {
    this.description = desc;
  }
}
Run Code Online (Sandbox Code Playgroud)

此枚举是jqGrid中的属性.但它始终显示枚举,即ACTIVE或IN_ACTIVE.我希望jqgrid显示Active和InActive.谢谢

jquery struts2 jqgrid

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

如何优化JPA查询

我有三个实体如下:

public class EntityA
{
    private Long id;
    //Getters and setters
}

public class EntityB
{
    private Long id;
    private EntityA entitya;
    //Getters and setters
}

public class EntityC
{
    private Long id;
    private BigDecimal amount;
    private EntityB entityb;
    //Getters and setters
}
Run Code Online (Sandbox Code Playgroud)

现在,给定一个Entity of EntityA,我想得到一个EntityC列表.我目前有两种选择.我不知道哪一个更优化.选项是:

1.
select c from EntityC c where c.entityb in (select b from EntityB b where b.entitya = :entitya)
Run Code Online (Sandbox Code Playgroud)

2.向EntityB添加新属性

private Set<EntityC> entityCCol;

@OneToMany(mappedBy="entityb")
public Set<EntityC> getEntityCCol()
{
   return entityCCol;
}

select b from EntityB …
Run Code Online (Sandbox Code Playgroud)

java persistence jpa jpa-2.0

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

如何将JRBeanCollectionDataSource的List传递给子报表

我正在从JRBeanCollectionDataSource生成报告.此报告是关于客户的订单.

这是我的代码

public class Customer
{
    private String customerName;
    private String customerNo;
    private String customerAddress;
    private ArrayList<CustomerOrder> customerOrders;
    //Getters and Setters
}


private class CustomerOrder
{
    private String itemName;
    private BigDecimal amount;
    private int itemQuantity;
    //Getters and Setters
}
Run Code Online (Sandbox Code Playgroud)

当客户需要生成包含客户详细信息和客户订单列表的报告时.自从JRBeanCollectionDataSource收集,这就是我做的.

Customer cust; //Customer Instance

ArrayList<Customer> custList = new ArrayList<Customer>();
custList.add(cust); 

JRBeanCollectionDataSource rptData = new JRBeanCollectionDataSource(custList);
Run Code Online (Sandbox Code Playgroud)

如何提取CustomerOrder列表Customer并将其作为子报表传递?

jasper-reports ireport

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

无法绑定到Openshift上的端口

我在openshift的应用程序中运行嵌入式activemq消息服务器.根据这个,你只能绑定上15000 - 35530.我已经尝试过以下操作,但它会引发严重的错误.可能是什么问题?

我在用春天.这是我的一部分applicationContext.xml

<amq:broker brokerName="tentacle-broker" start="true">
    <amq:persistenceAdapter>
        <amq:amqPersistenceAdapter directory="/var/lib/openshift/username/jbossews-2.0/jbossews-2.0/activemq2" maxFileLength="32mb"/>
    </amq:persistenceAdapter>
    <amq:transportConnectors>
        <amq:transportConnector uri="tcp://127.10.180.129:15001"/>
    </amq:transportConnectors>
</amq:broker>
Run Code Online (Sandbox Code Playgroud)

这是我遇到的错误

WARNING: could not generate unique stub
java.net.BindException: Permission denied
        at java.net.PlainSocketImpl.socketBind(Native Method)
        at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
        at java.net.ServerSocket.bind(ServerSocket.java:376)
        at java.net.ServerSocket.<init>(ServerSocket.java:237)
        at java.net.ServerSocket.<init>(ServerSocket.java:128)
        at org.apache.activemq.util.IdGenerator.<clinit>(IdGenerator.java:54)
        at org.apache.activemq.broker.region.RegionBroker.<clinit>(RegionBroker.java:81)
        at org.apache.activemq.broker.BrokerService.createRegionBroker(BrokerService.java:1830)
        at org.apache.activemq.broker.BrokerService.createRegionBroker(BrokerService.java:1824)
        at org.apache.activemq.broker.BrokerService.createBroker(BrokerService.java:1781)
        at org.apache.activemq.broker.BrokerService.getBroker(BrokerService.java:766)
        at org.apache.activemq.broker.BrokerService.start(BrokerService.java:497)
        at org.apache.activemq.broker.BrokerService.autoStart(BrokerService.java:463)
        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:601)
        at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProces
r.java:293)
va:130)
ava:394)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1405)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) …
Run Code Online (Sandbox Code Playgroud)

java activemq-classic openshift

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