小编dan*_*nik的帖子

使用Hibernate映射数组

你可以帮我映射一下Hbernate吗?

public class MyClass{
    private Long id;
    private String name;
    private int[] values;
    ...
}
Run Code Online (Sandbox Code Playgroud)

我正在使用PostgreSQL,表格的列类型是整数[]我的数组应该如何映射?

java postgresql hibernate java-ee

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

Spring MVC 404错误

我疯了,无法理解问题所在:

我有以下结构:

SpringMVC
  +WebContent
      -web-inf
        -web.xml
        -springMVC-servlet.xml
      -index.jsp
      -security
           -login.jsp 
Run Code Online (Sandbox Code Playgroud)

web.xml中

<display-name>springMVC</display-name> 
<servlet> 
  <servlet-name>springMVC</servlet-name> 
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping>
  <servlet-name>springMVC</servlet-name>
  <url-pattern>*.html</url-pattern>
</servlet-mapping> 
  <servlet-mapping>
  <servlet-name>springMVC</servlet-name>
  <url-pattern>*.do</url-pattern> 
</servlet-mapping> 
<servlet-mapping> 
  <servlet-name>springMVC</servlet-name> 
  <url-pattern>/index.html</url-pattern>
</servlet-mapping>
<welcome-file-list> 
  <welcome-file>index.html</welcome-file> 
</welcome-file-list>
Run Code Online (Sandbox Code Playgroud)

用SpringMVC-servlet.xml中

<?xml version="1.0" encoding="UTF-8"?>
<beans xsi:schemaLocation=" http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd     
        http://www.springframework.org/schema/context  
        http://www.springframework.org/schema/context/spring-context-3.0.xsd 
        http://www.springframework.org/schema/mvc 
        http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd  
        http://www.springframework.org/schema/aop 
        http://www.springframework.org/schema/aop/spring-aop-3.0.xsd" 
        xmlns:mvc="http://www.springframework.org/schema/mvc"  
        xmlns:aop="http://www.springframework.org/schema/aop" 
        xmlns:context="http://www.springframework.org/schema/context" 
        xmlns:p="http://www.springframework.org/schema/p" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xmlns="http://www.springframework.org/schema/beans"> 

    <context:annotation-config/> 
    <context:component-scan base-package="com.vanilla.springMVC"/> 

    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" > 
       <property name="prefix"> 
          <value>/</value> 
       </property> 
       <property name="suffix"> 
       <value>.jsp</value> 
       </property> 
    </bean> 

</beans>
Run Code Online (Sandbox Code Playgroud)

我的控制器:

package com.vanilla.springMVC;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.portlet.ModelAndView; …
Run Code Online (Sandbox Code Playgroud)

java spring jsp servlets spring-mvc

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

Java中的8个字符串唯一字符串

有没有办法在Java中生成8个字符长的随机和唯一的字符串?

String id = getRandomString();
Run Code Online (Sandbox Code Playgroud)

然后Id就是例如 wf41Av5g

java string

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

关闭浏览器时会话丢失

我设置了会话时间.

 <session-config>
<session-timeout>11520</session-timeout>
Run Code Online (Sandbox Code Playgroud)

</session-config>

每次当我关闭浏览器并通过调用servlet再次打开它时,我看到创建了新会话.每次重新打开浏览器时,都可以从HttpSessionListener中执行的SessionCreated方法中看到.

我是tomcat/Java的新手,但如果我在ASP.NET环境中工作,我会解决它设置与会话名称相同的cookie.

在Tomcat中解决它的最佳实践是什么?

先感谢您.

丹尼.

java cookies session tomcat servlets

8
推荐指数
2
解决办法
4300
查看次数

Struts 2中的Json插件问题

我有以下代码,我将实现/ getJson将返回用户对象的功能,因为json和/ getJson2将返回user2作为Json对象.

@ParentPackage("json-default")
public class JsonAction extends ActionSupport{
private User user = new User("John","Smith"); 
private User user2 = new User("Smith","John"); 
public String populate(){

    return "populate";
}

@Action(value="/getJson", results = {
        @Result(name="success", type="json")})
public String test(){
    return "success";
}

@Action(value="/getJson2", results = {
        @Result(name="success", type="json")})
public String test2(){
    return "success";
}

@JSON(name="user")
public User getUser() {
    return user;
}

public void setUser(User user) {
    this.user = user;
}

@JSON(name="user2")
public User getUser2() {
    return user2;
}

public void setUser2(User user2) …
Run Code Online (Sandbox Code Playgroud)

java ajax json struts2

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

Spring Security自定义过滤器

我想自定义Spring security 3.0.5并将登录URL更改为/ login而不是/ j_spring_security_check.

我需要做的是允许登录到"/"目录并保护"/admin/report.html"页面.

首先,我使用教程和Spring Security源代码创建自己的过滤器:

public class MyFilter extends AbstractAuthenticationProcessingFilter {
    private static final String DEFAULT_FILTER_PROCESSES_URL = "/login";
    private static final String POST = "POST";
    public static final String SPRING_SECURITY_FORM_USERNAME_KEY = "j_username";
    public static final String SPRING_SECURITY_FORM_PASSWORD_KEY = "j_password";
    public static final String SPRING_SECURITY_LAST_USERNAME_KEY = "SPRING_SECURITY_LAST_USERNAME";

    private String usernameParameter = SPRING_SECURITY_FORM_USERNAME_KEY;
    private String passwordParameter = SPRING_SECURITY_FORM_PASSWORD_KEY;

    protected MyFilter() {
        super(DEFAULT_FILTER_PROCESSES_URL);
    }

    @Override
    public Authentication attemptAuthentication(HttpServletRequest request,
                                                HttpServletResponse response) 
                          throws AuthenticationException, IOException, ServletException {
        String username = obtainUsername(request); …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc spring-security java-ee

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

Spring 3.1 + Hibernate 4.1 Propagation.Supports问题

我正在将我的项目从Spring 3.0 + hibernate 3.6.x迁移到S3.1 + H4.1

我的新代码如下

    <context:component-scan base-package="x.y.z">
</context:component-scan>

<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <property name="hibernateProperties">
 <props>
    <prop key="hibernate.dialect">org.hibernate.dialect.x</prop> 
    <prop key="hibernate.show_sql">true</prop> 
    <prop key="hibernate.hbm2ddl.auto">update</prop> 
    <prop key="hibernate.show_sql">true</prop> 
  </props>
     </property>
        <property name="annotatedClasses">
      <list>
        <value>x.y.z.entities.Student</value>        
         </list>
    </property>
  </bean>

<bean id="transactionManager" 
            class="org.springframework.orm.hibernate4.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory"/>
  </bean>

<aop:config>
    <aop:pointcut id="daoServicePoint" 
            expression="execution(* x.y.z.StudentDao.*(..))"/>
    <aop:advisor advice-ref="txAdvice" pointcut-ref="daoServicePoint"/>
  </aop:config>

  <tx:advice id="txAdvice" transaction-manager="transactionManager">
    <tx:attributes>
      <tx:method name="save*" propagation="REQUIRED"/>
       <tx:method name="update*" propagation="REQUIRED"/>
       <tx:method name="delete*" propagation="REQUIRED"/>
     <tx:method name="get*" propagation="SUPPORTS" read-only="true"/>
    </tx:attributes>
  </tx:advice> 
Run Code Online (Sandbox Code Playgroud)

当运行getStudent方法标记为SUPPORTS并且只读我正在获取

org.hibernate.HibernateException: No Session found for current thread …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate

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

Spring MVC框架非常基本的Dispatcher问题

当我在看Spring FrameWork 3.0时,我看到以下代码示例:

@RequestMapping("/index.dlp")
public ModelAndView index(){
    logger.info("Return View");
    return new ModelAndView("index");
}
Run Code Online (Sandbox Code Playgroud)

此选项对我不起作用.只有当我按以下方式更改代码时:

@RequestMapping("/index.dlp")
    public ModelAndView index(){
        logger.info("Return View");
        return new ModelAndView("index.jsp");
    }
Run Code Online (Sandbox Code Playgroud)

它工作正常.谁能告诉我为什么?

java spring spring-mvc

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

Spring Security基本配置

我想通过以下方式使用Spring安全性配置spring MVC应用程序.

  1. 只允许一个并发登录.
  2. 当HTTP会话到期时,用户将被重定向到/security/sessionTimeout.html
  3. 当用户登录成功时,他将被重定向到"/"文件夹.
  4. 当用户注销时,他也将被重定向到"/".

我按以下方式配置它:

   <security:http>
 <security:form-login login-page="/security/login.html" login-processing-url="/login" authentication-failure-url="/login.jsp?login_error=1" default-target-url="/"/> 
  <security:session-management invalid-session-url="/security/sessionTimeout.html">
        <security:concurrency-control max-sessions="1" />
    </security:session-management>
  <security:logout logout-url="/logout" logout-success-url="/"/>
    </security:http>
Run Code Online (Sandbox Code Playgroud)

我有以下问题:

  1. 我能够在2个不同的浏览器上使用相同的帐户登录(没有并发控制工作)
  2. 当我点击退出时,我被重定向到"/security/sessionTimeout.html"而不是"/".

我遵循了Spring安全参考指南.我究竟做错了什么?

更新: 这是我的web.xml的样子.

 <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>
</filter-mapping>

<listener>
  <listener-class>org.springframework.security.web.session.HttpSessionEventPublisher</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>WEB-INF/springSecurity-servlet.xml</param-value>
</context-param>
 <display-name>SpringSecurity</display-name>
    <servlet>
    <servlet-name>springSecurity</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>springSecurity</servlet-name>
    <url-pattern>*.html</url-pattern>
  </servlet-mapping>
   <servlet-mapping>
    <servlet-name>springSecurity</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>springSecurity</servlet-name>
    <url-pattern>/index.html</url-pattern>
  </servlet-mapping>
   <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
Run Code Online (Sandbox Code Playgroud)

更新2:只需在调试模式下运行log4j,这是我点击注销时得到的:

DEBUG [http-8080-2] (FilterChainProxy.java:375) - /index.html at position 1 of 11 …
Run Code Online (Sandbox Code Playgroud)

configuration spring spring-mvc spring-security

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

Tomcat 7.0.32 + Spring MVC Servlet 3 Async无法正常工作

我编写了非常简单的控制器,测试Servlet 3的功能:

@Autowired
    ThreadPoolTaskExecutor taskExecutor;

    @RequestMapping(value="{name}", method = RequestMethod.GET)
    public @ResponseBody DeferredResult<MyResponse> getShopInJSON(@PathVariable String name) {

        DeferredResult<MyResponse> df = new DeferredResult<MyResponse>();
        taskExecutor.submit(new MyRunnable(df));    

        return df; 
    }
Run Code Online (Sandbox Code Playgroud)

在单独的线程中,我只做5秒的睡眠命令,之后我将MyResultPOJO 返回给DeferredResult.

我的web.xml文件符合Servlet 3规范:

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                             http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         version="3.0"
         metadata-complete="true">
  <display-name>Archetype Created Web Application</display-name>
    <servlet>
    <async-supported>true</async-supported>
    <servlet-name>mvc-dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>mvc-dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)

我的连接器tomcat如下:

 <Connector port="8080" protocol="HTTP/1.1"
                maxThreads="5"
                acceptCount="5"
                connectionTimeout="20000"
                redirectPort="8443" />
Run Code Online (Sandbox Code Playgroud)

现在这是有趣的部分.当运行打开10个并发连接的简单程序时,我看到第一个集合被释放后,首先只提供5个连接,然后提供第二个5个连接(您可以从时间步进中看到它).这不是Servlet 3.0应该如何表现的

Fri May 31 01:17:57 IDT 2013: Preparing 10 concurrent connections
Fri May 31 …
Run Code Online (Sandbox Code Playgroud)

spring tomcat servlets spring-mvc servlet-3.0

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