SpringLoginTest(模拟登录)

关于项目配置,之前都有,不会的可以下源码

项目描述:注册帐号——登录——登录成功or登录失败

package com.game.controller;

import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;

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;

import com.game.model.User;

@Controller
@RequestMapping("/user")
public class UserController {

    private static List<User>  userList = null;
    
    public UserController()
    {
        super();
        userList = new ArrayList<User>();
    }
    
    @RequestMapping(value="/register",method=RequestMethod.GET)
    public String registerForm()
    {
        return "register";
    }
    
    @RequestMapping(value="/register",method=RequestMethod.POST)
    public String register(
            @RequestParam("loginId") String loginId,
            @RequestParam("password") String password,
            @RequestParam("userName") String userName)
    {
        User user = new User();
        user.setLoginId(loginId);
        user.setPassword(password);
        user.setUserName(userName);
        userList.add(user);
        return "login";
    }
    
  /**@RequestParam 注解类型用于将指定的请求参数赋值给方法中的形参*/ @RequestMapping(
"/login") public String login(@RequestParam("loginId") String loginId, @RequestParam("password") String password, Model model) throws UnsupportedEncodingException { for(User user : userList) { if(user.getLoginId().equals(loginId) && user.getPassword().equals(password)) { String name = new String(user.getUserName().getBytes("ISO8859_1"),"UTF-8"); model.addAttribute("userName",name); return "welcome"; } } return "loginError"; } }
package com.game.model;

import java.io.Serializable;

public class User implements Serializable {
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private String loginId;
    private String password;
    private String userName;
    public String getLoginId() {
        return loginId;
    }
    public void setLoginId(String loginId) {
        this.loginId = loginId;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
}

 

注册页面

<body>
  <h3>注册页面</h3>
  <br>
  <form action="user/register" method="post">
      <table>
          <tr>
              <td><label>登录名:</label></td>
              <td><input type="text" id="loginId" name="loginId"></td>
          </tr>
          <tr>
              <td><label>密码:</label></td>
              <td><input type="password" id="password" name="password"></td>
          </tr>
          <tr>
              <td><label>昵称:</label></td>
              <td><input type="text" id="userName" name="userName"></td>
          </tr>
          <tr><td><input id="submit" type="submit" value="注册"></td></tr>
      </table>
  </form>
  </body>

登录页面

 <body>
      <h3>登录页面</h3>
      <br>
      <form action="user/login" method="post">
          <table>
              <tr>
                  <td><label>登录名:</label></td>
                  <td><input type="text" id="loginId" name="loginId"></td>
              </tr>
              <tr>
                  <td><label>密码:</label></td>
                  <td><input type="password" id="password" name="password"></td>
              </tr>
              <tr><td><input id="submit" type="submit" value="登录"></td></tr>
          </table>
      </form>
    </body>

成功页面

<body>
    <h3>欢迎 ${ requestScope.userName } 登录成功!</h3>
  </body>

失败页面

<body>
    <h3>登录失败,帐号或密码错误</h3> <br>
  </body>

相关截图

 

 

项目中遇到的问题

1.提交的中文参数在jsp中显示为乱码

解决:转码

String name = new String(user.getUserName().getBytes("ISO8859_1"),"UTF-8");
model.addAttribute("userName",name);

 

2.控制器映射到/user路径下

提交请求的时候找不到路径,加上就好了

<form action="user/register" method="post">

 

最后附件http://pan.baidu.com/s/1eSy3azo

posted @ 2017-06-12 01:09  腾飞新星  阅读(918)  评论(0编辑  收藏  举报