小编use*_*636的帖子

spring mvc中是否为每个请求创建了一个新的bean对象?

我无法确定使用调度程序servlet在spring mvc中仅创建了一个bean对象,还是对每个请求都创建了一个新对象?

控制器代码:-

在代码中,我将在LoginBean对象中设置数据,并在方法abc中将其设置在modelandview对象中。

然后在jsp中我没有输入usename的任何值,在这种情况下,当我提交表单并且调用处理程序方法(initform)时,我试图打印的是相同的lb.getusername,这不会重现我的任何值。无法理解这个概念。

@Controller
public class LoginController{
ModelAndView mv=null;
EmployeeBean e=new EmployeeBean();
AutoBean autobean;
@Autowired
public LoginController(AutoBean autobean){
    System.out.println("autobean");

    this.autobean=autobean;
}
    @RequestMapping(value="/login")
    public ModelAndView abc(){

        System.out.println("here");
        System.out.println("here1");
        LoginBean lb=new LoginBean();
        lb.setUsename("ankita");//setting value
        return new ModelAndView("login","loginbean",lb);
    }

    @RequestMapping(value="/abc1",method=RequestMethod.POST)
    public ModelAndView initform(@ModelAttribute("loginbean")LoginBean      lb,BindingResult result,Model model){
        System.out.println("*****"+result.getErrorCount());
        System.out.println("hello");
        autobean.setName("yayme");
        System.out.println(autobean.getName());
        model.addAttribute("autobean", autobean);
        System.out.println("username"+lb.getUsename());// query??
        if(lb.getPassword().equals("ankita"))
        /*{
            mv=new ModelAndView();
            e.setId("1001");
            e.setName("ankita");
            mv.addObject("employee", e);
            mv.addObject("emp", new Emp());

            mv.setViewName("success");
            return mv;
        }*/
        return new ModelAndView("success","emp",new Emp());
        else
            return new ModelAndView("fail","lb1",lb);
    }
Run Code Online (Sandbox Code Playgroud)

login.jsp

<form:form action="abc1" …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc

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

标签 统计

java ×1

spring ×1

spring-mvc ×1