Spring+MongoDB实现登录注册功能

所属分类: 软件编程 / java 阅读数: 26
收藏 0 赞 0 分享

本文实例为大家分享了Spring,Spring MVC,MongoDB实现登录注册 的具体代码,供大家参考,具体内容如下

工程目录: 

Spring配置文件:

 <beans xmlns="http://www.springframework.org/schema/beans" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
   xmlns:context="http://www.springframework.org/schema/context" 
   xmlns:mongo="http://www.springframework.org/schema/data/mongo" 
   xsi:schemaLocation="http://www.springframework.org/schema/context  
   http://www.springframework.org/schema/context/spring-context-3.0.xsd  
   http://www.springframework.org/schema/data/mongo  
   http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd  
   http://www.springframework.org/schema/beans  
   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">  
  <!-- 开启自动注入,进行包扫描 -->
  <context:component-scan base-package="com" />
  <mongo:mongo host="127.0.0.1" port="27017"/> 
  
  <!-- 配置MongoTemplate-->
  <bean id="mongoTemplate" class="org.springframework.data.document.mongodb.MongoTemplate">  
  <constructor-arg ref="mongo"/> 
  <!-- 指定数据库名字--> 
  <constructor-arg name="databaseName" value="data1"/>  
  </bean> 
  
  <!-- 映射转换器,扫描back-package目录下的文件,根据注释,把它们作为mongodb的一个collection的映射 --> 
  <mongo:mapping-converter base-package="com.model" /> 
  
  <!--普通注入--> 
  <bean id="userDaoImpl" class="com.userdaoimpl.UserDaoImpl">  
  <property name="mongoTemplate" ref="mongoTemplate"></property>  
 </bean>  
  
  <context:annotation-config /> 
  
  <bean
 class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
 <!-- 配置视图解析器,将ModelAndView及字符串解析为具体的页面 -->
 <bean id="viewResolver"
 class="org.springframework.web.servlet.view.InternalResourceViewResolver">
 <property name="prefix" value="/" />
 <property name="suffix" value=".jsp" />
 </bean>
 
 
 
</beans> 

Web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 
 xmlns="http://java.sun.com/xml/ns/javaee" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
 http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
 <display-name></display-name> 
 <welcome-file-list>
 <welcome-file>login.jsp</welcome-file>
 </welcome-file-list>
 
 <servlet>
 <servlet-name>spring</servlet-name>
 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
 <init-param>
 <param-name>contextConfigLocation</param-name>
 <param-value>classpath:applicationContext.xml</param-value>
 </init-param>
 </servlet>
 <servlet-mapping>
 <servlet-name>spring</servlet-name>
 <url-pattern>/</url-pattern>
 </servlet-mapping>
 <!-- 统一字符编码 -->
 <filter>
 <filter-name>encoding</filter-name>
 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
 <init-param>
 <param-name>encoding</param-name>
 <param-value>UTF-8</param-value>
 </init-param>
 </filter>
 
 <filter-mapping>
 <filter-name>encoding</filter-name>
 <url-pattern>*.do</url-pattern>
 </filter-mapping>
</web-app> 

Model层:

package com.model;

import org.springframework.data.annotation.Id;
import org.springframework.data.document.mongodb.mapping.Document;


@Document(collection = "p3") 
public class User {
 @Id
 String name;
 String password;
 public String getName() {
 return name;
 }
 public void setName(String name) {
 this.name = name;
 }
 public String getPassword() {
 return password;
 }
 public void setPassword(String password) {
 this.password = password;
 }
 
 
 
} 

UserDao:

 package com.userdao;

import com.model.User;

public interface UserDao {
 public void insert(User user);
 public boolean find(String name,String password);
 public void save(User user);
 
 
} 

UserDaoImpl:

package com.userdaoimpl;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.document.mongodb.MongoTemplate;
import org.springframework.data.document.mongodb.query.Criteria;
import org.springframework.data.document.mongodb.query.Query;

import com.model.User;
import com.userdao.UserDao;

public class UserDaoImpl implements UserDao{
 
 @Autowired
 MongoTemplate mongoTemplate;
 
 @Override
 public void insert(User user) {
 getMongoTemplate().insert(user);
 
 }
 
 
 
 @Override
 public boolean find(String name, String password) {
 Criteria criteria=Criteria.where("name").is(name).and("password").in(password);
 User user = getMongoTemplate().findOne(new Query(criteria), User.class);
 if (user==null) {
 return false;
 }
 return true;
 }

 @Override
 public void save(User user) {
 getMongoTemplate().save(user);
 
 }


 public MongoTemplate getMongoTemplate() {
 return mongoTemplate;
 }

 public void setMongoTemplate(MongoTemplate mongoTemplate) {
 this.mongoTemplate = mongoTemplate;
 }
 
 
 
} 

LoginController:

package com.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import com.userdaoimpl.UserDaoImpl;


@Controller
public class LoginController {
 @Autowired
 UserDaoImpl userDaoImpl;
 
 
 @RequestMapping("/login")
 public String login(String name,String password,Model model) {
 boolean rs = userDaoImpl.find(name, password);
 if (rs==true) {
 return "index";
 }
 return "erro";
 
 }


 public UserDaoImpl getUserDaoImpl() {
 return userDaoImpl;
 }


 public void setUserDaoImpl(UserDaoImpl userDaoImpl) {
 this.userDaoImpl = userDaoImpl;
 }
} 

RegisterController:

package com.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import com.model.User;
import com.userdaoimpl.UserDaoImpl;


@Controller
public class RegisterController {
 @Autowired 
 UserDaoImpl userDaoImpl;
 @RequestMapping("/register")
 public String register(String name,String password,Model model) {
 User user = new User();
 user.setName(name);
 user.setPassword(password);
 userDaoImpl.save(user);
 return "login";
 }
 public UserDaoImpl getUserDaoImpl() {
 return userDaoImpl;
 }
 public void setUserDaoImpl(UserDaoImpl userDaoImpl) {
 this.userDaoImpl = userDaoImpl;
 }
 
 
 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

Java的面向对象编程基本概念学习笔记整理

这篇文章主要介绍了Java的面向对象编程基本概念学习笔记整理,包括类与方法以及多态等支持面向对象语言中的重要特点,需要的朋友可以参考下
收藏 0 赞 0 分享

Eclipse下编写java程序突然不会自动生成R.java文件和包的解决办法

这篇文章主要介绍了Eclipse下编写java程序突然不会自动生成R.java文件和包的解决办法 的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

基于Java实现杨辉三角 LeetCode Pascal's Triangle

这篇文章主要介绍了基于Java实现杨辉三角 LeetCode Pascal's Triangle的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

Java中Spring获取bean方法小结

Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,如何在程序中获取Spring配置的bean呢?下面通过本文给大家介绍Java中Spring获取bean方法小结,对spring获取bean方法相关知识感兴趣的朋友一起学习吧
收藏 0 赞 0 分享

如何计算Java对象占用了多少空间?

在Java中没有sizeof运算符,所以没办法知道一个对象到底占用了多大的空间,但是在分配对象的时候会有一些基本的规则,我们根据这些规则大致能判断出来对象大小,需要的朋友可以参考下
收藏 0 赞 0 分享

剖析Java中的事件处理与异常处理机制

这篇文章主要介绍了Java中的事件处理与异常处理机制,讲解Java是如何对事件或者异常作出响应以及定义异常的一些方法,需要的朋友可以参考下
收藏 0 赞 0 分享

详解Java的Struts2框架的结构及其数据转移方式

这篇文章主要介绍了详解Java的Struts2框架的结构及其数据转移方式,Struts框架是Java的SSH三大web开发框架之一,需要的朋友可以参考下
收藏 0 赞 0 分享

Java封装好的mail包发送电子邮件的类

本文给大家分享了2个java封装好的mail包发送电子邮件的类,并附上使用方法,小伙伴们可以根据自己的需求自由选择。
收藏 0 赞 0 分享

在Java的Struts中判断是否调用AJAX及用拦截器对其优化

这篇文章主要介绍了在Java的Struts中判断是否调用AJAX及用拦截器对其优化的方法,Struts框架是Java的SSH三大web开发框架之一,需要的朋友可以参考下
收藏 0 赞 0 分享

java多线程Future和Callable类示例分享

JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。今天我们就来研究下Future和Callab
收藏 0 赞 0 分享
查看更多