SpringMVC登录注册以及转换json数据

项目结构;

公司主营业务:成都做网站、成都网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出和顺免费做网站回馈大家。

Spring MVC登录注册以及转换json数据

代码如下:

BookController

package com.mstf.controller;

import javax.servlet.http.HttpServletResponse;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.codehaus.jackson.map.ObjectMapper;
import com.mstf.domain.Book;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/json")
public class BookController {
 private static final Log logger = LogFactory.getLog(BookController.class);
 // @RequestMapping 根据 json 数据,转换成对应的 Object
 @RequestMapping(value="/testRequestBody")
 public void setJson(@RequestBody Book book,HttpServletResponse response) throws Exception {
  // ObjectMapper 类是 Jackson 库的主要类。他提供一些功能将 Java 对象转换成对应的 JSON
  ObjectMapper mapper = new ObjectMapper();
  // 将 Book 对象转换成 json 输出
  logger.info(mapper.writeValueAsString(book));
  book.setAuthor("汪政");
  response.setContentType("text/html;charset=UTF-8");
  // 将 Book 对象转换成 json 写到客户端
  response.getWriter().println(mapper.writeValueAsString(book));
 }
}

UserController

package com.mstf.controller;

import java.util.ArrayList;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.mstf.domain.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

// Controller 注解用于指示该类是一个控制器,可以同时处理多个请求动作
@Controller
// RequestMapping 可以用来注释一个控制器类,此时,所有方法都将映射为相对于类级别的请求,
// 表示该控制器处理所有的请求都被映射到 value属性所指示的路径下
@RequestMapping(value="/user")
public class UserController {
 // 静态 List 集合,此处代替数据库用来保存注册的用户信息
 private static List userList;
 // UserController 类的构造器,初始化 List 集合
 public UserController() {
  super();
  userList = new ArrayList();
 }
 // 静态的日志类 LogFactory
 private static final Log logger = LogFactory.getLog(UserController.class);
 // 该方法映射的请求为 http://localhost:8080/context/user/register ,该方法支持GET请求
 @RequestMapping(value="/register",method=RequestMethod.GET)
 public String registerForm() {
  logger.info("register GET方法被调用...");
  // 跳转到注册页面
  return "register";
 }
 // 该方法映射的请求支持 POST 请求
 @RequestMapping(value="/register",method=RequestMethod.POST)
 // 将请求中的 loginname 参数的值赋给 loginname 变量, password 和 username 同样处理
 public String register(
   @RequestParam("loginName") String loginName,
   @RequestParam("passWord") String passWord,
   @RequestParam("userName") String userName) {
  logger.info("register POST方法被调用...");
  // 创建 User 对象
  User user = new User();
  user.setLoginName(loginName);
  user.setPassWord(passWord);
  user.setUserName(userName);
  // 模拟数据库存储 User 信息
   userList.add(user);
  // 跳转到登录页面
  return "login";
 }
 // 该方法映射的请求为 http://localhost:8080/RequestMappingTest/user/login
 @RequestMapping("/login")
 public String login(
   // 将请求中的 loginName 参数的值赋给 loginName 变量, passWord 同样处理
   @RequestParam("loginName") String loginName,
   @RequestParam("passWord") String passWord,
   Model model) {
  logger.info("登录名:"+loginName + " 密码:" + passWord);
  // 到集合中查找用户是否存在,此处用来模拟数据库验证
  for(User user : userList){
   if(user.getLoginName().equals(loginName)
     && user.getPassWord().equals(passWord)){
    model.addAttribute("user",user);
    return "welcome";
   }
  }
  return "login";
 }
}

Book

package com.mstf.domain;
import java.io.Serializable;
public class Book implements Serializable {
 private static final long serialVersionUID = 1L;
 private int id;
 private String name;
 private String author;
 public Book() {
 }
 public Book(int id, String name, String author) {
  super();
  this.id = id;
  this.name = name;
  this.author = author;
 }
 public int getId() {
  return id;
 }
 public void setId(int id) {
  this.id = id;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public String getAuthor() {
  return author;
 }
 public void setAuthor(String author) {
  this.author = author;
 }
 @Override
 public String toString() {
  return "Book [id=" + id + ", name=" + name + ", author=" + author + "]";
 }
}

User

package com.mstf.domain;
import java.io.Serializable;
// 域对象,实现序列化接口
public class User implements Serializable {
 // 序列化
 private static final long serialVersionUID = 1L;
 // 私有字段
 private String loginName;
 private String userName;
 private String passWord;
 // 公共构造器
 public User() {
  super();
 }
 // get/set 方法
 public String getLoginName() {
  return loginName;
 }
 public void setLoginName(String loginName) {
  this.loginName = loginName;
 }
 public String getUserName() {
  return userName;
 }
 public void setUserName(String userName) {
  this.userName = userName;
 }
 public String getPassWord() {
  return passWord;
 }
 public void setPassWord(String passWord) {
  this.passWord = passWord;
 }
}

springmvc-config.xml

<?xml version="1.0" encoding="UTF-8"?>


 
 

 
 
 
 

 
  
  
  
   /WEB-INF/jsp/
  
  
  
   .jsp
  
 

login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8"%>




登录


 

登录


register.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8"%>




注册


 

注册页面


welcome.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8"%>




欢迎登录


 

欢迎[${requestScope.user.userName }]登录

web.xml

<?xml version="1.0" encoding="UTF-8"?>

 
 
  springmvc
  
   org.springframework.web.servlet.DispatcherServlet
  
  
   contextConfigLocation
   
    /WEB-INF/config/springmvc-config.xml
   
  
  1 
 
 
 
  springmvc
  /
 
 
 
  characterEncodingFilter
  org.springframework.web.filter.CharacterEncodingFilter
  
   encoding
   UTF-8
  
  
   forceEncoding
   true
  
 
 
  characterEncodingFilter
  /*
 

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8"%>




测试接收JSON格式的数据





 编号:
书名:
作者:

所有用到的包如下:

Spring MVC登录注册以及转换json数据

我们有两个方法来进行软件设计:一个是让其足够的简单以至于让BUG无法藏身;另一个就是让其足够的复杂,让人找不到BUG。前者更难一些。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持创新互联!


本文标题:SpringMVC登录注册以及转换json数据
地址分享:http://myzitong.com/article/gsigei.html