简单的SpringMVC小项目(适合刚刚学的)

该项目可以实现用户注册和登录。比较简单,没有用数据库。纯属是为了练习一下刚刚学的SpringMVC。

代码中我会有备注,供大家理解

最重要的是先配置,web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		 xmlns="http://java.sun.com/xml/ns/javaee"
		 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
		 id="WebApp_ID" version="2.5">
	<display-name>SpringMvc01</display-name>
	<!--主页-->
	<welcome-file-list>
		<welcome-file>/WEB-INF/jsp/index.jsp</welcome-file>
	</welcome-file-list>


	<servlet>
		<servlet-name>springmvc</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:spring-mvc.xml</param-value>
		</init-param>
	</servlet>
	<!--检索后缀是do的-->
	<servlet-mapping>
		<servlet-name>springmvc</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>
</web-app>

spring-mvc.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">

	<!-- 使用注解的包,包括子集 -->
    <context:component-scan base-package="com.xu"/>

    <!-- 视图解析器 -->
	<bean id="viewResolver"
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/jsp/" />
		<property name="suffix" value=".jsp"></property>
	</bean>
	
	<!--上传文件这里没用到-->
	<bean id="multipartResolver"
        class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
		<property name="defaultEncoding" value="UTF-8"/>  
	    <property name="maxUploadSize" value="10000000"/>

	</bean>

</beans>

这是项目结构

model包 User就用户名和密码就可以了

package com.xu.model;

public class User {
    private int id;
    private String userName;
    private String password;

    public User() {
    }

    public User(String userName, String password) {
        this.userName = userName;
        this.password = password;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    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;
    }
}

Controller

扫描二维码关注公众号,回复: 5890506 查看本文章
package com.xu.controller;

import javax.jms.Session;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;


import com.xu.model.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import java.util.ArrayList;
import java.util.List;

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

    //我没有用数据库所有用数组存
    private static List<User> list=new ArrayList<>();
    //用静态块的目的是只加载一次
    static {
        list.add(new User("xu","123"));
    }

    @RequestMapping("/login")
    public ModelAndView login(HttpServletRequest request, HttpServletResponse response ) {
        String userName = request.getParameter("userName");
        String password = request.getParameter("password");
        ModelAndView mav=new ModelAndView();
        HttpSession session= request.getSession();
        for(User u:list){
            if(userName.equals(u.getUserName())&&password.equals(u.getPassword())){
                //用户登录后就弄进session
                session.setAttribute("currentUser",u);
                mav.setViewName("success");
                return mav;
            }
        }
        mav.addObject("errorMsg","用户名或密码错误");
        mav.setViewName("index");
        return mav;
    }

    @RequestMapping("/register")
    public ModelAndView register(HttpServletRequest request, HttpServletResponse response ){
        String userName = request.getParameter("userName");
        String password = request.getParameter("password");
        ModelAndView mav=new ModelAndView();
        User user=new User(userName,password);
        list.add(user);
        mav.setViewName("index");
        return mav;
    }

    //登录界面点注册的跳转
    @RequestMapping("/skipToRegister")
    public ModelAndView skipToRegister(){
        ModelAndView mav=new ModelAndView();
        mav.setViewName("register");
        return mav;
    }



}

下面是JSP

index.jsp

<%--
  Created by IntelliJ IDEA.
  User: xu
  Date: 2019/2/27
  Time: 19:19
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>登录界面</title>
  </head>
  <body>
  <%--获得后台得到的错误信息,用户名或密码错误--%>
  ${errorMsg}
  一定要用${pageContext.request.contextPath},不然会有地址错误。可以在网页上的地址看出来多了user/
  <form action="${pageContext.request.contextPath}/user/login.do" method="post">
    <tr>
      <td>用户名:</td>
      <td><input type="text" name="userName"></td>
    </tr>
    <tr>
      <td>密码:</td>
      <td><input type="password" name="password"></td>
    </tr>
    <tr>
      <td colspan="2"><input type="submit" value="登录"> </td>
    </tr>
  </form>
  <a href="${pageContext.request.contextPath}/user/skipToRegister.do">注册</a>
  </body>
</html>

register.jsp

<%--
  Created by IntelliJ IDEA.
  User: xu
  Date: 2019/2/27
  Time: 19:58
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>注册</title>
</head>
<body>

<form action="${pageContext.request.contextPath}/user/register.do" method="post">
    <tr>
        <td>用户名:</td>
        <td><input type="text" name="userName"></td>
    </tr>
    <tr>
        <td>密码:</td>
        <td><input type="password" name="password"></td>
    </tr>
    <tr>
        <td colspan="2"><input type="submit" value="注册"> </td>
    </tr>
</form>

</body>
</html>

success.jsp

<%--
  Created by IntelliJ IDEA.
  User: xu
  Date: 2019/2/27
  Time: 19:41
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<h1>欢迎您${currentUser.userName}</h1>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/xu505928168/article/details/87989796
今日推荐