`

UserController.java

 
阅读更多

package org.travelzen.hotel.user.controller;

 

import java.io.File;

import java.io.IOException;

import java.util.HashMap;

import java.util.Map;

 

import javax.servlet.http.HttpServletRequest;

import javax.validation.Valid;

 

import org.apache.commons.io.FileUtils;

import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.validation.BindingResult;

import org.springframework.web.bind.annotation.ExceptionHandler;

import org.springframework.web.bind.annotation.PathVariable;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.bind.annotation.RequestParam;

import org.springframework.web.bind.annotation.ResponseBody;

import org.springframework.web.bind.annotation.SessionAttributes;

import org.springframework.web.multipart.MultipartFile;

import org.springframework.web.servlet.mvc.support.RedirectAttributes;

import org.springframework.web.servlet.view.InternalResourceViewResolver;

import org.travelzen.hotel.user.exception.UserException;

import org.travelzen.hotel.user.vo.User;

 

@Controller

@RequestMapping("/travelzen/hotel")

@SessionAttributes("loginUser")

public class UserController {

 

private final static Map<String, User> users = new HashMap<String ,User>();

//private final static List<User> users = new ArrayList<User>();

 

public UserController() {

 users.put("ldh", new User("ldh", "123", "刘德华", "ldh@travelzen.com"));

users.put("zxy", new User("zxy", "123", "张学友", "zxy@travelzen.com"));

users.put("lm", new User("lm", "123", "黎明", "lm@travelzen.com"));

users.put("gfc", new User("gfc", "123", "郭富城", "gfc@travelzen.com"));

users.put("zjl", new User("zjl", "123", "周杰伦", "zjl@travelzen.com"));

}

 

@RequestMapping(value="/users", method=RequestMethod.GET)

public String list(Model model) {

if( ! model.containsAttribute("loginUser")) {

return "redirect:/travelzen/hotel/login";

}

model.addAttribute("users", users);//key为map

return "travelzen/hotel/user/list";

}

 

@RequestMapping(value="/user/add", method=RequestMethod.GET)

public String add(Model model) {

model.addAttribute(new User());//User-user

return "travelzen/hotel/user/add";

}

 

@RequestMapping(value="/user/add", method=RequestMethod.POST)

public String add(@Valid User user, BindingResult binding, @RequestParam(required=false) MultipartFile[] photos, HttpServletRequest req, Model model) throws IOException {

if(binding.hasErrors()) {

//接受错误信息

//return "redirect:/travel/hotel/user/add";

return "travelzen/hotel/user/add";

}

for(MultipartFile photo : photos) {

if(photo.isEmpty()) continue;

System.out.println(photo.getContentType() + ", " + photo.getName() + ", " + photo.getOriginalFilename());

String realPath = req.getSession().getServletContext().getRealPath("/resources/upload/");

FileUtils.copyInputStreamToFile(photo.getInputStream(), new File(realPath + "/" + photo.getOriginalFilename()));

}

users.put(user.getUserName(), user);

model.addAttribute("loginUser", user);

return InternalResourceViewResolver.REDIRECT_URL_PREFIX + "/travelzen/hotel/users";

}

 

//显示用户

@RequestMapping(value="/user/{userName}", method=RequestMethod.GET)

public String show(@PathVariable String userName, Model model) {

model.addAttribute(users.get(userName));

return "travelzen/hotel/user/show";

}

 

@ResponseBody

@RequestMapping(value="/user/{userName}", params="json", method=RequestMethod.GET)

//public User showJson(@PathVariable String userName, @RequestParam String json, Model model) {

public User showJson(@PathVariable String userName) {

return users.get(userName);

}

 

@RequestMapping(value="/user/{userName}/update", method=RequestMethod.GET)

public String update(@PathVariable String userName, Model model) {

model.addAttribute(users.get(userName));

return "travelzen/hotel/user/update";

}

 

@RequestMapping(value="/user/{userName}/update", method=RequestMethod.POST)

public String update(@PathVariable String userName, @Valid User user, BindingResult binding, Model model) {

if(binding.hasErrors()) {

//return "travelzen/hotel/user/user/update";

}

users.put(user.getUserName(), user);

return InternalResourceViewResolver.REDIRECT_URL_PREFIX + "/travelzen/hotel/users";

}

 

@RequestMapping(value="/user/{userName}/delete", method=RequestMethod.GET)

public String delete(@PathVariable String userName) {

users.remove(userName);

return "redirect:/travelzen/hotel/users";

}

 

@RequestMapping(value="/login", method=RequestMethod.GET)

public String login() {

return "travelzen/hotel/user/login";

}

 

@RequestMapping(value="/login", method=RequestMethod.POST)

public String login(String userName, String password, Model model) {

if( ! users.containsKey(userName)) {

throw new UserException("用户名不存在");

}

if( ! password.equals(users.get(userName).getPassword())) {

throw new UserException("用户密码不正确");

}

model.addAttribute("loginUser", users.get(userName));

return InternalResourceViewResolver.REDIRECT_URL_PREFIX + "/travelzen/hotel/users";

}

 

@ExceptionHandler(value={UserException.class})

public String handlerException(Exception e, HttpServletRequest req) {

req.setAttribute("e", e);

return "travelzen/hotel/error";

}

 

@RequestMapping(value="/logout", method=RequestMethod.GET)

public String logout() {

return "travelzen/hotel/user/logout";

}

 

@RequestMapping("/redir")

public String redir(Model model, RedirectAttributes ra) {

ra.addFlashAttribute("tttt", "吞吞吐吐");

//model.addAttribute("tttt", "吞吞吐吐");

return "redirect:/travelzen/hotel/users";

}

 

}

 

分享到:
评论

相关推荐

    基于SSM+MySQL的医院挂号管理系统

    本项目基于Spring+SpringMVC+...在项目源码\ssmHospital\src\main\java\com\yuanlrc\base\web\UserController.java 中修改头像存放位置 管理员账号:admin 管理员密码:123456 (忘记账号可以打开数据库表查看)

    基于SSM的健身房管理系统(源码+部署说明+演示视频+源码介绍).zip

    主要包括以下目录结构: lua复制代码src/main/java/com/example/gymmanagement/|-- UserController.java|-- CourseController.java|-- AppointmentController.java|-- EquipmentController.java|-- ...其他控制器类|...

    assess.zip

    │ │ UserController.java │ │ │ ├─resources │ └─webapp │ │ add.jsp │ │ index.jsp │ │ login.jsp │ │ modify.jsp │ │ │ ├─assets │ │ └─bootstrap-3.3.7 │ │ ├─css ...

    spring文件上传.pdf

    spring文件上传,文件上传 传统方式 借助第三方组件实现文件上传: UserController.java编写:

    iretail

    Spring Boot新零售系统叠放主文件结构... │ └── GlobalDefaultExceptionHandler.java │ │ └── BusinessException.java │ │ │ ├── controller │ │ └── UserController.java │ │ │ ├── dto │

    spring-boot-jwt:使用Spring Boot,Spring Security和MySQL的JWT身份验证服务

    smiling_eyes:档案结构spring-boot-jwt/ │ ├── src/main/java/ │ └── murraco │ ├── configuration │ │ └── SwaggerConfig.java │ │ │ ├── controller │ │ └── UserController.java │...

    bank:样本库

    肯尼亚生计区数据收集工具 ... │ │ └── UserController.java │ │ │ ├── dto │ │ ├── UserDataDTO.java │ │ └── UserResponseDTO.java │ │ │ ├── exception │ │

    JBPM4.4流程管理Demo(附学习资料)

    JBPM4.4报销流程管理Demo(内附学习资料和sql文件),启动项目之前先运行UserController.java里面的面方法建立财务组,项目启动之后会自动建立18张表

    secure-spring-boot:一个简单的使用JWT来保护RESTful api端点的spring-boot应用程序

    UserController.java包含两个将在JWT墙后面固定的RESTful api端点 User.java代表我们服务的注册用户...已批准访问REST API的用户。 com.example.security软件包包含所有spring身份验证过滤器,以保护我们的系统 ...

    eiti-crud:招聘考试

    Eiti解决方案普罗耶托Arquivos ├── docker-compose...br │ │ └── com │ │ └── befullstack │ │ └── eiticrud │ │ ├── controllers │ │ │ └── UserController.java │ │ 

    PTUTGestionDesStages

    介绍 使用保护应用程序部分的用户管理... AdminController.java和UserController.java控制器演示了如何为具有特定角色的用户保留对特定控制器的访问。 学分 该应用程序受到启发, 简化和重写,使其使用H2和百里香叶而

    big-gun:基于 Spring boot 2 框架的Web项目

    BigGunSpring boot 2 模板工程快速启动: HelloWordController.java数据库配置操作: UserController.java1. 通常手动在数据库创建表2. 字符集 选择 utf-8 mb43. UserEntitySpring 整合 Druid 完成 MySQL 数据访问,...

    TownZ

    boot-jwt/ │ ├── src/main/java/ │ └── dembla.spring.security │ ├── configuration │ │ └── SwaggerConfig.java │ │ │ ├── controller │ │ └── UserController.java │ │ │ ├── ...

    spring usercontroller

    spring构架中的用户控制类的实现,@Controller,@RequestMapping,

    Javaweb项目

    defining beans [userController,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.spring...

    springmybatis

    import java.io.Reader; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session....

    SpringBoot集成swagger3(powernode CD2207)(教学视频+源代码)

    SpringBoot集成swagger3(powernode CD2207) 零、前期准备 数据库ssm_power_edu.sql 0.1 pom.xml 0.2 application.yml 0.3 实体类 0.4 UserMapper接口 0.5 UserMapper.xml配置文件...2.10.1 UserController 添加的代码

Global site tag (gtag.js) - Google Analytics