针对controller,先贴码,在分析。
package com.wswhr.LoginServer.springmvc.controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.wswhr.LoginServer.springmvc.form.TextLogin; @Controller @RequestMapping("/login") public class TestLoginController { @RequestMapping(value = "/form/manager") @ResponseBody public void typeManager(HttpServletRequest request,HttpServletResponse response, TextLogin form) throws Exception { String name = form.getName(); String pwd = form.getPassword(); System.err.println(name+"232423"+pwd); } }
@controller,注解的扫描配置。
@requestMapping ,请求路径,在web.xml中,对所有的路径进行 过滤,或者拦截,不拦截的包括 *.mp3 / *.js /js/ ,等,这些都属于请求静态资源,并不需要访问controller。
针对请求后台的就会进行拦截。然后找到匹配的controller 中的方法进行处理。
获取前台传值到后台的方法,可以用httpservletrequest 。
但是springmvc,更好的方法,是放到一个参数类中。可以直接用 参数类来进行钱后台数据交互,会根据你类的 字段名,进行自动匹配。
TextLogin 就是参数类。
package com.wswhr.LoginServer.springmvc.form; import java.io.Serializable; public class TextLogin implements Serializable { /** * */ private static final long serialVersionUID = -189006516392581827L; private String name; private String password; private String type; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getType() { return type; } public void setType(String type) { this.type = type; } }