小编Mon*_*oon的帖子

PSQLException:ResultSet未正确定位,也许您需要调用next

public UserBean authenticate(String username,String password){
    PostGresDAO pg=new PostGresDAO();   //creates new connection
    Connection conn=pg.getConnecion();  //return connection object
    PreparedStatement ps;
    ResultSet rs;
    String query="select password,name from scg_users where username=?";
    UserBean ub=null;
    boolean authenticated=false;
    try{
        ps=conn.prepareStatement(query);
        ps.setString(1, username);
        rs=ps.executeQuery();

        if(rs!=null){

            authenticated=password.equals(rs.getString(1));  //exception raised here
            if(authenticated){
                ub=new UserBean();
                ub.setUser(rs.getString(2));
                ub.setUsername(username);
            }
        }
    }
    catch(SQLException e){
        e.printStackTrace();
    }
    return ub;
}
Run Code Online (Sandbox Code Playgroud)

我正在使用此代码来验证用户身份.用户名和密码从请求参数中提取并传递给此方法进行身份验证.但它抛出一个:

org.postgresql.util.PSQLException: ResultSet not positioned properly, perhaps you need to call next.
Run Code Online (Sandbox Code Playgroud)

请指教.

java postgresql postgresql-9.1

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

Jersey:将所有POST数据都合并到一个对象中

我在我的应用程序中使用Jersey 1.8.我试图POST在服务器上使用数据.数据属于该类型application/x-www-form-urlencoded.有没有一种方法可以在一个对象中获取所有数据,也许是一个Map<String, Object>.

我遇到了泽西岛@Consumes(MediaType.APPLICATION_FORM_URLENCODED).但是使用它需要我使用@FormParam,如果参数的数量很大,这可能是乏味的.或者也许有一种方式:

    @POST
    @Path("/urienodedeample")
    @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
    @Produces(MediaType.APPLICATION_JSON)
    public Response uriEncodedExample(String uriInfo){
        logger.info(uriInfo);
        //process data
        return Response.status(200).build();
    }
Run Code Online (Sandbox Code Playgroud)

上面的代码使用并在String对象中呈现表单数据.

_search=false&nd=1373722302667&rows=10&page=1&sidx=email&sord=desc
Run Code Online (Sandbox Code Playgroud)

处理此问题可能容易出错,因为任何错位&和split()都会返回损坏的数据.

我在我的大部分工作中都使用了UriInfo,它可以在一个MultiValuedMap或其他POST请求中提供查询参数,以json格式发送有效负载,然后将其解组为a Map<String, Object>.如果POST数据是类型的话,有关如何做同样的建议application/x-www-form-urlencoded.

java rest jersey unmarshalling

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

如何在startup.bat中设置多个JAVA_OPTS选项

我通过startup.bat启动tomcat时尝试传递多个参数.我尝试在startup.bat文件的顶部添加这些行,但它们不起作用.

set JAVA_OPTS="-Dapplication.home=E:\\webapp -Dfilepath=D:\\newFolder\\conf\\con.properties"
Run Code Online (Sandbox Code Playgroud)

最初我运行的应用程序只有一个参数-Dapplication.home=E:\\webapp,工作正常.现在我需要传递另一个参数,这个方法失败了.请指教.


在运行时,我得到这个例外FileNotFoundException:

java.io.FileNotFoundException: E:\webapp -Dfilepath=D:\newFolder\conf\con.properties (The filename, directory name, or volume label syntax is incorrect)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:120)
    at java.io.FileInputStream.<init>(FileInputStream.java:79)
Run Code Online (Sandbox Code Playgroud)

代码将整个段作为单个参数读取.

java tomcat jvm-arguments

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

如何使用Spring在Postgresql中存储java.util.ArrayList

我正在尝试批量插入一组bean.bean的一个属性是ArrayList.批量更新失败,但出现异常:

 Can't infer the SQL type to use for an instance of java.util.ArrayList. Use setObject() with an explicit Types value to specify the type to use.
Run Code Online (Sandbox Code Playgroud)

我不知道使用哪个Postgresql数据类型与ArrayList兼容.有没有办法可以在不更改其属性的数据类型的情况下批量更新bean?


豆子:

    import java.util.List;

    public class SomeBean {
        private int id;
        private List<String> names;

        @Override
        public String toString() {
            return "SomeBean [id=" + id + ", names=" + names + "]";
        }
        //Setters and getters
Run Code Online (Sandbox Code Playgroud)

表模式:

CREATE TABLE arraylistexample
(
  id serial NOT NULL,
  names character varying[]
)
Run Code Online (Sandbox Code Playgroud)

插入数据的方法:

    public void insert(List<SomeBean> beans){
        String …
Run Code Online (Sandbox Code Playgroud)

java postgresql spring arraylist batch-updates

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

索引时,搜索时可能影响术语得分的因素有哪些

问题很少令人困惑.我是Lucene的新手并经历了这些文件.我发现adding boost to a field,增加了字段的范数,从而在搜索时增加了该字词的分数.

IE在索引时将字段添加到字段会影响搜索时的分数.我的问题是除了提升之外,还有其他方法可以做同样的事情吗?请指教.

lucene scoring

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

Hibernate:映射未找到异常

从官方文档开始Hibernate.我陷入了配置xml文件的最基本步骤.虽然我已按照示例中的描述完成了所有操作,但却无法找到 The mapping file.

这是例外:

Exception in thread "main" org.hibernate.MappingNotFoundException: resource: testing/ground/beans/User.hbm.xml not found
    at org.hibernate.cfg.Configuration.addResource(Configuration.java:728)
    at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:2115)
    at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:2087)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2067)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2020)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1935)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1914)
    at testing.ground.test.HibernateTest.main(HibernateTest.java:14)
Run Code Online (Sandbox Code Playgroud)

带main()的代码:

package testing.ground.test;

import java.util.List;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

    public class HibernateTest {
        private SessionFactory sessionFactory;

        public static void main(String[] args) {
            HibernateTest ht = new HibernateTest();
            ht.sessionFactory = new Configuration().configure().buildSessionFactory();
            ht.getData();
        }

        public void getData(){
            Session session = this.sessionFactory.getCurrentSession();
            session.beginTransaction();
            List list = session.createQuery("from users").list();
            System.out.println(list); …
Run Code Online (Sandbox Code Playgroud)

java hibernate

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

将表数据转换为JSON

我试图将HTML表中的数据转换为JSON,以便可以在服务器端相应地处理它.我能够序列化数据,但结果充其量只能生成不直接链接的不同数据数组.喜欢:这是我使用的形式:

<form id="nameGenderForm">
    <table id="nameGenderTable">

        <tr>
            <th >Name</th>
            <th >Gender</th>
        </tr>


            <tr>
                <td><input type="text" name="studentName"></td>
                <td>
                    <select name="studentGender">
                        <option value="male">male</option>
                        <option value="female">female</option>
                    </select>
                </td>
            </tr>

            <tr>
                <td><input type="text" name="studentName"></td>
                <td>
                    <select name="studentGender">
                        <option value="male">male</option>
                        <option value="female">female</option>
                    </select>
                </td>
            </tr>
        </table>
    <input type="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

序列化数据的脚本是:

$("#nameGenderForm").submit(function(event){
    event.preventDefault();

    var rawData=$('#nameGenderForm').serializeFormJSON();
    var formData=JSON.stringify(rawData);
    console.log(formData);
});
Run Code Online (Sandbox Code Playgroud)

serializeFormJSON()是我在浏览几页StackOverFlow后得到的:

(function($) {
$.fn.serializeFormJSON = function() {
var o = {};
   var a = this.serializeArray();
   $.each(a, function() {
       if (o[this.name]) {
           if (!o[this.name].push) {
               o[this.name] = [o[this.name]]; …
Run Code Online (Sandbox Code Playgroud)

jquery serialization json

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

如何在Tomcat上运行的应用程序使用System.getProperty()

我正在尝试设置系统属性并在我的Servlet中检索它.

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println(System.getProperty("name"));
    }
Run Code Online (Sandbox Code Playgroud)

我把它放在:-Dname=rickeshCATALINA_OPTS但运行代码返回null.我不知道如何在运行时将参数传递给Tomcat并通过它来使用它System.getProperty(String).一个谷歌搜索做同样的建议做了JNDI或CATALINA_OPTS设置,但对如何设置要么没有例子.

请指教.

java tomcat

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

如何获取GROUP BY子句中最后一个属性的值

不太熟悉SQL.我试图从数据库表中获取用户名,登录尝试次数和登录尝试的最后日期.表模式是这样的:

username character varying,
logindate timestamp,
result character varying,
clientip character varying
Run Code Online (Sandbox Code Playgroud)

我能够从以下查询中获取用户名和尝试次数:

SELECT USERNAME, COUNT(USERNAME) FROM LOGINTABLE GROUP BY USERNAME
Run Code Online (Sandbox Code Playgroud)

是否可以从同一查询中获取上次登录的日期?请指教.

使用的数据库:POSTGRESQL

sql postgresql

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

对带有别名的派生表执行LEFT Join

SQL新手.我试图在两个派生表上执行LEFT JOIN但我收到错误Every Derived Table must have an alias.我确实为它们提供了别名,但它仍然给出了相同的错误消息.以下是查询:

SELECT * FROM 
    (SELECT first_name 
        from users 
        inner join messages 
        on (users.id=messages.from_user_id)
        where to_user_id=1 
        group by first_name order by message_date) AS DATAONE 
            LEFT JOIN
                (select * from 
                    (SELECT count(message_id),u.id,first_name,message_subject,message_status 
                    from users u 
                    inner join messages m 
                    on (u.id=from_user_id)
                    where to_user_id=1 and message_status = 2 
                    group by first_name order by message_date) as datatwo) 
        on (dataone.first_name = datatwo.first_name)
Run Code Online (Sandbox Code Playgroud)

请指教.

mysql sql

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

mvnDebug因拒绝许可而失败

我正在尝试使用maven在新系统上调试我的项目.该命令mvn tomcat:run运行正常但是,它失败了mvnDebug tomcat:run.

C:\project>mvnDebug tomcat:run
Preparing to Execute Maven in Debug Mode
ERROR: transport error 202: bind failed: Permission denied
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:690]
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
Run Code Online (Sandbox Code Playgroud)

pom.xml中定义的插件是:

            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.0</version>
            </plugin>
Run Code Online (Sandbox Code Playgroud)

我无法找到解决"权限被拒绝"问题的解决方案.我没有找到一个职位在这里上如此,但它"已在使用中的地址"的问题了.

java tomcat maven

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

应用程序范围记录器的最佳实践

经过多次尝试,我终于能够提出一个问题了.我希望它有一定道理并易于理解.使用Spring和Jersey的Web应用程序.我需要实现一个应用程序范围的记录器,它应该将应用程序上执行的所有活动记录到数据库中.目前我已经使用了HAS-A实现,并在任何地方调用了日志记录方法,执行了CRUD操作.像这样的东西:

LogBean lBean=new LogBean("rickesh@email.com","update","address","127.0.0.1");
logToDatabase(lBean);
Run Code Online (Sandbox Code Playgroud)

但这会导致大量重复的代码行,并且我必须在执行CRUD操作的每个部分重复地实例化并调用log方法.有什么办法可以从控制器层(REST层)中提取日志记录吗?Spring或Jersey中是否有任何特定的功能,我可以在单独的层上执行日志记录,而且我不必在任何地方继续重复相同的代码行.请指教.

java spring jersey

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