国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Spring MVC用戶注冊和登錄示例

2019-11-06 06:24:34
字體:
來源:轉載
供稿:網友
原文地址:https://dzone.com/articles/sPRing-mvc-example-for-user-registration-and-login-1?edition=274902&utm_source=Daily%20Digest&utm_medium=email&utm_campaign=dd%202017-03-04

本文是使用幾種Web開發語言和數據庫設置用戶注冊和登錄的分步指南。

 通過 Ranjith Sekar · 3月03,17 · Web Dev Zone

本文是使用以下工具和技術的用戶注冊和登錄的分步指南。

Spring框架(Core,MVC和JBDC)

2. java 1.8

3.Maven 3.3.9

4. Eclipse IDE(Mars2)

5. MySQL 5.1

步驟1:創建Maven項目

使用Eclipse IDE,通過選擇Web Archetype創建Maven項目。

步驟2:更新Pom.xml

更新你的maven依賴。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">    <modelVersion>4.0.0</modelVersion>    <groupId>jbr</groupId>    <artifactId>SpringMvcUser</artifactId>    <packaging>war</packaging>    <version>0.1</version>    <name>SpringMvcUser Maven Webapp</name>    <url>http://maven.apache.org</url>    <properties>        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>        <spring.version>4.3.2.RELEASE</spring.version>        <junit.version>4.12</junit.version>        <servlet.version>3.1.0</servlet.version>        <servlet.version>3.0.1</servlet.version>        <mysql.connector.version>5.1.9</mysql.connector.version>    </properties>    <dependencies>        <!-- Junit -->        <dependency>            <groupId>junit</groupId>            <artifactId>junit</artifactId>            <version>${junit.version}</version>            <scope>test</scope>        </dependency>        <!--Servlet-Api -->        <dependency>            <groupId>javax.servlet</groupId>            <artifactId>javax.servlet-api</artifactId>            <version>${servlet.version}</version>        </dependency>        <!-- Spring Framework -->        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-core</artifactId>            <version>${spring.version}</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-beans</artifactId>            <version>${spring.version}</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-context</artifactId>            <version>${spring.version}</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-jdbc</artifactId>            <version>${spring.version}</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-test</artifactId>            <version>${spring.version}</version>            <scope>test</scope>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-webmvc</artifactId>            <version>${spring.version}</version>        </dependency>        <!-- Servlet API -->        <dependency>            <groupId>javax.servlet</groupId>            <artifactId>javax.servlet-api</artifactId>            <version>${servlet.version}</version>        </dependency>        <!-- MySQL database driver -->        <dependency>            <groupId>mysql</groupId>            <artifactId>mysql-connector-java</artifactId>            <version>${mysql.connector.version}</version>        </dependency>    </dependencies>    <build>        <finalName>SpringMvcUser</finalName>    </build></project>

步驟3:更新web.xml

更新src / main / webapp / WEB-INF下的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_3_0.xsd" version="3.0">    <display-name>Archetype Created Web application</display-name>    <welcome-file-list>        <welcome-file>home.jsp</welcome-file>    </welcome-file-list>    <servlet>        <servlet-name>spring-mvc</servlet-name>        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>        <load-on-startup>1</load-on-startup>    </servlet>    <servlet-mapping>        <servlet-name>spring-mvc</servlet-name>        <url-pattern>/</url-pattern>    </servlet-mapping></web-app>

DispatcherServlet   是您的應用程序中定義的任何Servlet的根Servlet。 它將根據URL將對應用程序發出的請求重定向到相應的控制器。

spring-mvc   是根servlet的名稱,Spring容器將查找具有此名稱的配置。 所以下一步是使用spring-mvc-servlet.xml創建一個spring配置。

步驟4:創建spring-mvc-servlet.xml

創建spring-mvc-servlet.xml   在src / main / webapp / WEB-INF文件夾下,并定義bean。

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context  http://www.springframework.org/schema/context/spring-context-3.0.xsd">    <import resource="classpath:jbr/config/user-beans.xml" />    <context:component-scan base-package="jbr.springmvc" />    <context:annotation-config />    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <property name="prefix" value="/jsp/" />        <property name="suffix" value=".jsp" />    </bean></beans>

步驟5:創建控制器

為用戶注冊和登錄創建單獨的控制器,如下所示。

創建一個包jbr.springmvc.controller  

RegistrationController.java

package jbr.springmvc.controller;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.ModelAttribute;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.servlet.ModelAndView;import jbr.springmvc.model.User;import jbr.springmvc.service.UserService;@Controllerpublic class RegistrationController {  @Autowired  public UserService userService;  @RequestMapping(value = "/register", method = RequestMethod.GET)  public ModelAndView showRegister(HttpServletRequest request, HttpServletResponse response) {    ModelAndView mav = new ModelAndView("register");    mav.addObject("user", new User());    return mav;  }  @RequestMapping(value = "/registerProcess", method = RequestMethod.POST)  public ModelAndView addUser(HttpServletRequest request, HttpServletResponse response,  @ModelAttribute("user") User user) {  userService.register(user);  return new ModelAndView("welcome", "firstname", user.getFirstname());  }}

LoginController.java

package jbr.springmvc.controller;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.ModelAttribute;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.servlet.ModelAndView;import jbr.springmvc.model.Login;import jbr.springmvc.model.User;import jbr.springmvc.service.UserService;@Controllerpublic class LoginController {  @Autowired  UserService userService;  @RequestMapping(value = "/login", method = RequestMethod.GET)  public ModelAndView showLogin(HttpServletRequest request, HttpServletResponse response) {    ModelAndView mav = new ModelAndView("login");    mav.addObject("login", new Login());    return mav;  }  @RequestMapping(value = "/loginProcess", method = RequestMethod.POST)  public ModelAndView loginProcess(HttpServletRequest request, HttpServletResponse response,  @ModelAttribute("login") Login login) {    ModelAndView mav = null;    User user = userService.validateUser(login);    if (null != user) {    mav = new ModelAndView("welcome");    mav.addObject("firstname", user.getFirstname());    } else {    mav = new ModelAndView("login");    mav.addObject("message", "Username or PassWord is wrong!!");    }    return mav;  }}

步驟5:創建POJO類

創建一個包: jbr.springmvc.model  

Login.java

package jbr.springmvc.model;public class Login {  private String username;  private String password;  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;  }}

User.java

package jbr.springmvc.model;public class User {  private String username;  private String password;  private String firstname;  private String lastname;  private String email;  private String address;  private int phone;  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;  }  public String getFirstname() {  return firstname;  }  public void setFirstname(String firstname) {  this.firstname = firstname;  }  public String getLastname() {  return lastname;  }  public void setLastname(String lastname) {  this.lastname = lastname;  }  public String getEmail() {  return email;  }  public void setEmail(String email) {  this.email = email;  }  public String getAddress() {  return address;  }  public void setAddress(String address) {  this.address = address;  }  public int getPhone() {  return phone;  }  public void setPhone(int phone) {  this.phone = phone;  }}

注意:如果您想添加任何新的邏輯,您可以添加另一個稱為服務的層并訪問DAO層。

步驟6:創建DAO類

創建用于訪問MySQL數據庫的接口/類。

創建一個包: jbr.springmvc.dao  

UserDao.java

package jbr.springmvc.dao;import jbr.springmvc.model.Login;import jbr.springmvc.model.User;public interface UserDao {  void register(User user);  User validateUser(Login login);}

UserDaoImpl.java

package jbr.springmvc.dao;import java.sql.ResultSet;import java.sql.SQLException;import java.util.List;import javax.sql.DataSource;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.jdbc.core.RowMapper;import jbr.springmvc.model.Login;import jbr.springmvc.model.User;public class UserDaoImpl implements UserDao {  @Autowired  DataSource datasource;  @Autowired  JdbcTemplate jdbcTemplate;  public void register(User user) {    String sql = "insert into users values(?,?,?,?,?,?,?)";    jdbcTemplate.update(sql, new Object[] { user.getUsername(), user.getPassword(), user.getFirstname(),    user.getLastname(), user.getEmail(), user.getAddress(), user.getPhone() });    }    public User validateUser(Login login) {    String sql = "select * from users where username='" + login.getUsername() + "' and password='" + login.getPassword()    + "'";    List<User> users = jdbcTemplate.query(sql, new UserMapper());    return users.size() > 0 ? users.get(0) : null;    }  }  class UserMapper implements RowMapper<User> {  public User mapRow(ResultSet rs, int arg1) throws SQLException {    User user = new User();    user.setUsername(rs.getString("username"));    user.setPassword(rs.getString("password"));    user.setFirstname(rs.getString("firstname"));    user.setLastname(rs.getString("lastname"));    user.setEmail(rs.getString("email"));    user.setAddress(rs.getString("address"));    user.setPhone(rs.getInt("phone"));    return user;  }}

步驟7:創建Spring Bean配置

resources ,創建一個新的xml bean配置user-beans.xml 來定義我們創建的bean。

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context  http://www.springframework.org/schema/context/spring-context-3.0.xsd">    <context:component-scan base-package="jbr.springmvc" />    <context:annotation-config />    <bean id="userService" class="jbr.springmvc.service.UserServiceImpl" />    <bean id="userDao" class="jbr.springmvc.dao.UserDaoImpl" />    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">        <property name="dataSource" ref="datasource" />    </bean>    <bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">        <property name="driverClassName" value="com.mysql.jdbc.Driver" />        <property name="url" value="jdbc:mysql://localhost:3306/myusers" />        <property name="username" value="root" />        <property name="password" value="root" />    </bean></beans>

步驟8:在MySQL中創建表

CREATE DATABASE   IF NOT EXISTS myusers;USE     DROP TABLE     DROP TABLE IF EXISTS `myusers`.`users`;CREATE TABLE `myusers`.`users`                  (                               `username`  VARCHAR(45) NOT NULL,                               `password`  VARCHAR(45) NULL,                               `firstname` VARCHAR(45) NOT NULL,                               `lastname`  VARCHAR(45) NULL,                               `email`     VARCHAR(45) NULL,                               `address`   VARCHAR(45) NULL,                               `phone`     INT NULL,                               PRIMARY KEY (`username`)                  )

步驟9:創建視圖

在/ src / main / webapp文件夾下,創建一個home.jsp,我們在web.xml中定義為“welcome-file”。

home.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" %>    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">    <html>    <head>        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">        <title>Welcome</title>    </head>    <body>        <table align="center">            <tr>                <td><a href="login">Login</a>                </td>                <td><a href="register">Register</a>                </td>            </tr>        </table>    </body>    </html>

在/ src / main / webapp / jsp下創建:

register.jsp

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" %>        <html>        <head>            <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">            <title>Registration</title>        </head>        <body>            <form:form id="regForm" modelAttribute="user" action="registerProcess" method="post">                <table align="center">                    <tr>                        <td>                            <form:label path="username">Username</form:label>                        </td>                        <td>                            <form:input path="username" name="username" id="username" />                        </td>                    </tr>                    <tr>                        <td>                            <form:label path="password">Password</form:label>                        </td>                        <td>                            <form:password path="password" name="password" id="password" />                        </td>                    </tr>                    <tr>                        <td>                            <form:label path="firstname">FirstName</form:label>                        </td>                        <td>                            <form:input path="firstname" name="firstname" id="firstname" />                        </td>                    </tr>                    <tr>                        <td>                            <form:label path="lastname">LastName</form:label>                        </td>                        <td>                            <form:input path="lastname" name="lastname" id="lastname" />                        </td>                    </tr>                    <tr>                        <td>                            <form:label path="email">Email</form:label>                        </td>                        <td>                            <form:input path="email" name="email" id="email" />                        </td>                    </tr>                    <tr>                        <td>                            <form:label path="address">Address</form:label>                        </td>                        <td>                            <form:input path="address" name="address" id="address" />                        </td>                    </tr>                    <tr>                        <td>                            <form:label path="phone">Phone</form:label>                        </td>                        <td>                            <form:input path="phone" name="phone" id="phone" />                        </td>                    </tr>                    <tr>                        <td></td>                        <td>                            <form:button id="register" name="register">Register</form:button>                        </td>                    </tr>                    <tr></tr>                    <tr>                        <td></td>                        <td><a href="home.jsp">Home</a>                        </td>                    </tr>                </table>            </form:form>        </body>        </html>

login.jsp

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" %>        <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">        <html>        <head>            <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">            <title>Login</title>        </head>        <body>            <form:form id="loginForm" modelAttribute="login" action="loginProcess" method="post">                <table align="center">                    <tr>                        <td>                            <form:label path="username">Username: </form:label>                        </td>                        <td>                            <form:input path="username" name="username" id="username" />                        </td>                    </tr>                    <tr>                        <td>                            <form:label path="password">Password:</form:label>                        </td>                        <td>                            <form:password path="password" name="password" id="password" />                        </td>                    </tr>                    <tr>                        <td></td>                        <td align="left">                            <form:button id="login" name="login">Login</form:button>                        </td>                    </tr>                    <tr></tr>                    <tr>                        <td></td>                        <td><a href="home.jsp">Home</a>                        </td>                    </tr>                </table>            </form:form>            <table align="center">                <tr>                    <td style="font-style: italic; color: red;">${message}</td>                </tr>            </table>        </body>        </html>

welcome.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" %>    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">    <html>    <head>        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">        <title>Welcome</title>    </head>    <body>        <table>            <tr>                <td>Welcome ${firstname}</td>            </tr>            <tr>            </tr>            <tr>            </tr>            <tr>                <td><a href="home.jsp">Home</a>                </td>            </tr>        </table>    </body>    </html>

步驟10:運行應用程序

右鍵單擊應用程序,然后Maven-> clean。

右鍵單擊應用程序,然后單擊Maven-> install。

右鍵單擊應用程序并運行As->在服務器上運行 - >使用Tomcat運行。

您將看到以下輸出。

主頁:

圖片標題

用戶注冊:

圖片標題

用戶注冊成功:

圖片標題

登錄:

圖片標題

登錄成功:

圖片標題

概要

本教程有助于為Spring MVC創建一個Maven項目,并為用戶注冊和登錄開發一個小應用程序。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 苏尼特右旗| 汝城县| 武威市| 原平市| 行唐县| 延安市| 固镇县| 北海市| 黄山市| 温州市| 郓城县| 凤台县| 泾川县| 河池市| 南安市| 故城县| 萨嘎县| 遂平县| 西乌珠穆沁旗| 长垣县| 扶余县| 盐亭县| 泰顺县| 邯郸县| 德安县| 邛崃市| 同德县| 闸北区| 天祝| 全南县| 洞头县| 阳原县| 武强县| 荣昌县| 南召县| 巴林右旗| 独山县| 平定县| 聊城市| 普宁市| 垣曲县|