spring rest 问题

spring 例子中默认的url匹配是 /,这样导致所有的目录都必须匹配这个条件,我现在想让他只管/admin/ 目录下的rest,则web。xml里配置为/admin/* ,控制器内 注解为/admin/user

则在浏览器内访问/project/admin/user 回报404错误?怎么解决呢?

你先看看http://www.springsource.org/node/2717这里面的视频,将的很详细了。。。
可以像下面这样

public User login(String username,String passwd) {
...
}
或者
public ModelAndView login(String username,String passwd) {
...
}

或者
public void login(ModelMap map,String username,String passwd) {
map.put(new User());
...
}

/admin/admin/user?

你试试用/project/admin/admin/user请求一次?

用urlrewrite转换一下,
[code="java"]
/admin/**
/app/admin/$1


/app/admin/**
/admin/$1

[/code]

web.xml
[code="java"]

starframe
org.springframework.web.servlet.DispatcherServlet

contextConfigLocation

classpath*:applicationContext-mvc.xml


1

<servlet-mapping>
    <servlet-name>starframe</servlet-name>
    <url-pattern>/app/*</url-pattern>
</servlet-mapping>

[/code]

你看看这个实例:
http://www.springsource.org/node/2717

spring3 rest 处理比struts更加方便,可以弃用struts

spring rest和struts2有很大区别的。struts action为每个请求生成一个实例。而spring的controller是单例的,每一个请求时方法级别的。。。
例如你提交了一个两个参数username和passwd。你对应的方法为login

顶一个javabean
class User {
private String username;
private String passwd;

}

spring rest和struts2有很大区别的。struts action为每个请求生成一个实例。而spring的controller是单例的,每一个请求时方法级别的。。。
例如你提交了一个两个参数username和passwd。你对应的方法为login

顶一个javabean
class User {
private String username;
private String passwd;
....
}

要想绑定到javabean,很简单,login添加一个User参数,注意参数key不需要向struts2那样添加“user.”前缀,直接是User的属性名称。
public void login(User user) {
...
}
也可以不用绑定到Javabean,想下面这样
public void login(String username,String passwd) {
...
}