北京手机网站制作公司,wordpress速度慢啊,产品设计图片大全,宣传片拍摄预算表spring MVC
SpringMVC是一种基于Java的MVC#xff08;Model-View-Controller#xff09;Web开发框架#xff0c;通过将业务逻辑、数据和界面分离#xff0c;使得开发人员能够更高效地管理和维护代码#xff0c;提高应用的可扩展性和可维护性。
SpringMVC核心概念
Contr…spring MVC
SpringMVC是一种基于Java的MVCModel-View-ControllerWeb开发框架通过将业务逻辑、数据和界面分离使得开发人员能够更高效地管理和维护代码提高应用的可扩展性和可维护性。
SpringMVC核心概念
ControllerController是SpringMVC的核心负责接收和处理用户请求。Controller通过解析请求并将处理结果传递给相应的View来响应用户操作。ModelModel代表应用程序的数据和业务逻辑是应用程序的核心。在SpringMVC中Model通常由JavaBean或POJOPlain Old Java Object实现。ViewView负责呈现用户界面通常是HTML页面。在SpringMVC中View可以通过JSPJava Server Pages、Thymeleaf等模板引擎来实现。
spring MVC常用注解
以下是一些常用的Spring MVC注解
Controller用于标记一个类作为Spring MVC控制器。该类负责处理用户请求并返回视图。RequestMapping用于映射Web请求到特定的控制器方法。它可以用于类级别和方法级别。GetMapping、PostMapping、PutMapping、DeleteMapping这些注解用于映射HTTP请求方法到特定的控制器方法。它们是RequestMapping的快捷方式。PathVariable用于绑定URL路径变量到控制器方法的参数。RequestParam用于绑定请求参数query parameters或form data到控制器方法的参数。RequestBody用于绑定请求体POST或PUT请求的数据到控制器方法的参数。ResponseBody用于指示控制器方法返回的数据应直接写入HTTP响应体中而不是通过视图进行渲染。ModelAttribute用于将表单提交的数据绑定到Java对象或者将额外的数据添加到模型中。SessionAttributes用于将模型数据存储到HTTP会话中以便在不同的请求之间保持状态。RequestHeader用于绑定HTTP请求头到控制器方法的参数。CookieValue用于绑定Cookie到控制器方法的参数。InitBinder用于自定义数据绑定的方法例如自定义日期格式化。ExceptionHandler用于处理控制器方法抛出的异常并返回相应的视图或响应。Autowired、Resource、Qualifier这些注解用于在控制器中注入依赖项例如数据访问对象DAO或其他服务类。 这些是常用的Spring MVC注解但还有其他注解可用于处理更高级的功能如拦截器、参数校验、文件上传等。
注解举例
Controller
public class UserController { // controller methods and logic here
}Controller
RequestMapping(/users)
public class UserController { RequestMapping(/list) public String listUsers(Model model) { // handle logic for user list return users/list; }
}Controller
public class UserController { GetMapping(/users) public String listUsers(Model model) { // handle logic for GET request return users/list; }
}Controller
RequestMapping(/users/{userId})
public class UserController { GetMapping public String getUser(PathVariable(userId) Long userId, Model model) { // handle logic for specific user return users/detail; }
}Controller
RequestMapping(/users)
public class UserController { PostMapping(/update) public String updateUser(RequestParam(name) String name, RequestParam(email) String email, Model model) { // handle logic for updating user information return users/update; }
}Controller
RequestMapping(/users)
public class UserController { PostMapping(/create) public String createUser(RequestBody User user, Model model) { // handle logic for creating a new user return users/create; }
}Controller
public class UserController { GetMapping(/users/{userId}) ResponseBody public User getUser(PathVariable(userId) Long userId) { // handle logic for specific user return user; }
}Controller
public class UserController { ModelAttribute(user) public User createUser(RequestParam String name, RequestParam String email) { // create user object and set properties User user new User(); user.setName(name); user.setEmail(email); return user; }
}Controller
public class UserController { GetMapping(/login) public String login(Model model) { // handle login logic and set user data in session HttpSession session request.getSession(); session.setAttribute(user, userData); return login; }
}Controller
public class UserController { GetMapping(/users) public String getUsers(RequestHeader(Authorization) String authorizationHeader, Model model) { // handle logic for getting users based on authorization header return users/list; }
}Controller
public class UserController { GetMapping(/logout) public String logout(CookieValue(USER_TOKEN) String token) { // handle logic for logout based on user token cookie return logout; }
}Controller
public class UserController { InitBinder public void initBinder(WebDataBinder binder) { SimpleDateFormat dateFormat new SimpleDateFormat(yyyy-MM-dd HH:mm:ss); dateFormat.setLenient(false); binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true)); }
}Controller
public class UserController { ExceptionHandler(UserNotFoundException.class) public String handleUserNotFoundException(UserNotFoundException e, Model model) { // handle logic for handling user not found exception and set error message in model model.addAttribute(errorMessage, User not found.); return error; }
}Controller
public class UserController { Autowired private UserDao userDao; // or Resource(name userDao) private UserDao userDao; // or Qualifier(userDao) private UserDao userDao;
}