当前位置:主页 > 软件编程 > JAVA代码 >

Spring+MongoDB实现登录注册功能

时间:2023-01-23 08:24:31 | 栏目:JAVA代码 | 点击:

本文实例为大家分享了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;
 }
 
 
 
}

您可能感兴趣的文章:

相关文章