小编Tou*_*one的帖子

Spring:@ModelAttribute VS @RequestBody

如果我错了,请纠正我.两者都可用于数据绑定.

问题是何时使用@ModelAttribute?

@RequestMapping(value="/owners/{ownerId}/pets/{petId}/edit", method = RequestMethod.POST)
public String processSubmit(@ModelAttribute Pet pet) { }
Run Code Online (Sandbox Code Playgroud)

另外,何时使用@RequestBody?

@RequestMapping(value = "/user/savecontact", method = RequestMethod.POST
public String saveContact(@RequestBody Contact contact){ }
Run Code Online (Sandbox Code Playgroud)

根据我的理解,两者都有类似的用途.

谢谢!!

data-binding spring spring-mvc

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

为什么我们使用10.0.2.2连接到本地Web服务器而不是在Android客户端使用计算机IP地址

我们通常在url中使用10.0.2.2 :(端口号)连接到本地Web服务器,但是我们应该使用计算机的ip地址而不是10.0.2.2

那为什么我们使用10.0.2.2?

android client-server

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

在Java中设置相等:按值或引用?

我做了两次测试,第一次开始 Strings

    String str1 = "old";
    String str2 = str1;
    str1 = "new";

    System.out.println(str1); //new
    System.out.println(str2); //old
Run Code Online (Sandbox Code Playgroud)

上面的例子表明了这一点 str2 = str1, by value

现在我做类似的操作,但这一次 Lists

    List<Integer> list1 = new ArrayList<Integer>();
    List<Integer> list2 = list1;
    list1.add(1);

    System.out.println(list1.size()); //1
    System.out.println(list2.size()); //1
Run Code Online (Sandbox Code Playgroud)

这个例子表明了 list2 = list1, by reference

我很困惑,which Java variables/objects被过去了value,哪些是通过的reference

java string reference list

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

为什么在刚创建输出缓冲区时需要刷新它?

在以下场景中

ObjectOutputStream output = new ObjectOutputStream(socket.getOutputStream());
output.flush();
// Do stuff with it
Run Code Online (Sandbox Code Playgroud)

为什么始终需要在初始创建后刷新缓冲区?
我一直都看到这一点,我真的不明白必须要冲洗什么.除非另有说明,否则我希望新创建的变量为空.

有点像买垃圾桶,在里面找到一堆垃圾.

java io flush

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

oracle中的隔离级别

我想知道有关提交的不同隔离级别,并且还想了解行级和表级锁.

database oracle transaction-isolation isolation-level

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

删除小于x的TreeMap条目

我有以下TreeMap:

private Map<Date,WeekSchedule> weeks = new TreeMap<Date,WeekSchedule>();
Run Code Online (Sandbox Code Playgroud)

我需要删除所有条目,其日期在给定值之前.

最有效的方法是什么?

这是我到目前为止:

public void removeWeeksBefore(Date monDate){
    for (Map.Entry<Date, WeekSchedule> entry : weeks.entrySet()){
        if(entry.getKey().before(monDate)){
            weeks.remove(entry.getKey());   //This will destroy the iterator
        }else{
            return;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java map treemap

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

Collections.synchronized 映射是否使迭代器线程安全

一个系统中有两个线程。一个是读者线程,另一个是作者线程。

使用以下代码同步地图。

Map<String,ArrayList<String>> m = Collections.synchronizedMap(new HashMap<String,ArrayList<String>())
Run Code Online (Sandbox Code Playgroud)

读取器线程获取映射值的迭代器,同时写入器线程修改映射。

所以,我的问题是 Iterator 会抛出ConcurrentModificationException吗?

java dictionary iterator synchronized concurrentmodification

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

java.sql.SQLException:一般错误

得到 java.sql.SQLException

java.sql.SQLException: General error
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6986)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3110)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253)
at com.test.Temp.main(Temp.java:29)
Run Code Online (Sandbox Code Playgroud)

我正在使用以下代码

Connection con=null;
ResultSet rs=null;
Statement stmt=null;

try {
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  con=DriverManager.getConnection("jdbc:odbc:locator","locator","locator");

  stmt=con.createStatement();
  System.out.println("Before query");
  String query=null;
  query="select * from user_location_table";
  System.out.println("after query12");

  rs=stmt.executeQuery(query);
  //perform certain operation....
  rs.close();
  stmt.close();
  con.close();
} catch(Exception e) {
  e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

在 处抛出异常stmt.executeQuery(query)

user_location_table 包含以下字段

user_id:number  not null,
latitude:number,
longitude:number,
update_time:timestamp(6)
Run Code Online (Sandbox Code Playgroud)

提前致谢

java odbc database-connection jdbc oracle10g

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

在数组上调用时,indexOf无法解析为类型

nums.indexOf 状态越来越认为美国错误

indexOf无法解析或不是字段.

我应该导入一些东西吗?我已经进口了java.util.*;

public static int search(int[] nums)
{
    Scanner keyboard = new Scanner(System.in);
    System.out.println("What value do you want?");
    int value = keyboard.nextInt();
    for(int i = 0; i < nums.length; i++)
    {
        if(nums.indexOf[i] == value)
            return value;
        else 
            return "Value is not in the list";
    }
}
Run Code Online (Sandbox Code Playgroud)

java arrays

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

toString.equals不工作?

我正在尝试比较工作,而对于我的生活,我无法弄清楚出了什么问题.

StringL l = new StringL();
    l.insert("banana", 0);
    l.insert("orange", 1);
    l.insert("apple",  2);
    l.insert("pear", 3);
    if (!(l.toString().equals("banana, orange, apple, pear")));{
        System.out.println("Test failed: should have returned banana, orange, apple, pear but returned " + l.toString());}
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行它时,我得到:

Test failed: should have returned banana, orange, apple, pear but returned banana, orange, apple, pear
Run Code Online (Sandbox Code Playgroud)

的ToString:

public String toString() {

        String result = ("") ;
        if(size() > 0) 
            result += stringList.get(0);

        for(int i = 1; i < size(); i++) 
            result += ", " + stringList.get(i); …
Run Code Online (Sandbox Code Playgroud)

java equals tostring

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