mongo 登陆_Spring+MongoDB实现登录注册功能

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

工程目录:

Spring配置文件:

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">

class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />

class="org.springframework.web.servlet.view.InternalResourceViewResolver">

Web.xml:

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">

login.jsp

spring

org.springframework.web.servlet.DispatcherServlet

contextConfigLocation

classpath:applicationContext.xml

spring

/

encoding

org.springframework.web.filter.CharacterEncodingFilter

encoding

UTF-8

encoding

*.do

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;

}

}

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我来为您提供一个大致的实现思路和步骤: 1. 确认需求,设计实体类 首先,您需要明确该订购蛋糕系统的功能需求,包括用户注册、登录、选择蛋糕、下订单等功能。然后,根据需求设计相应的实体类,包括用户、蛋糕、订单等。 2. 配置SpringBoot项目和MongoDB 在开始开发前,您需要先配置SpringBoot项目和MongoDB。可以使用Spring Initializr来创建一个新的SpringBoot项目,然后在pom.xml中添加MongoDB的依赖。配置MongoDB的方式可以参考MongoDB官方文档。 3. 实现数据访问层 接下来是实现数据访问层,包括用户、蛋糕、订单等的CRUD操作。可以使用Spring Data MongoDB来简化开发过程,只需要定义接口继承MongoRepository接口,然后在接口中定义需要的方法即可。 4. 实现服务层 在服务层中,实现具体的业务逻辑,包括用户注册、登录、选择蛋糕、下订单等功能。具体实现可以参考以下代码: ```java @Service public class CakeOrderService { @Autowired private UserRepository userRepository; @Autowired private CakeRepository cakeRepository; @Autowired private OrderRepository orderRepository; /** * 用户注册 */ public User register(User user) { return userRepository.save(user); } /** * 用户登录 */ public User login(String username, String password) { return userRepository.findByUsernameAndPassword(username, password); } /** * 选择蛋糕 */ public Cake chooseCake(String cakeId) { return cakeRepository.findById(cakeId).orElse(null); } /** * 下订单 */ public Order placeOrder(Order order) { return orderRepository.save(order); } } ``` 5. 实现控制器层 在控制器层中,处理HTTP请求和响应,将请求转发给服务层处理,并返回相应的结果给客户端。具体实现可以参考以下代码: ```java @RestController @RequestMapping("/api") public class CakeOrderController { @Autowired private CakeOrderService cakeOrderService; /** * 用户注册 */ @PostMapping("/register") public User register(@RequestBody User user) { return cakeOrderService.register(user); } /** * 用户登录 */ @PostMapping("/login") public User login(@RequestParam String username, @RequestParam String password) { return cakeOrderService.login(username, password); } /** * 选择蛋糕 */ @GetMapping("/cake/{cakeId}") public Cake chooseCake(@PathVariable String cakeId) { return cakeOrderService.chooseCake(cakeId); } /** * 下订单 */ @PostMapping("/order") public Order placeOrder(@RequestBody Order order) { return cakeOrderService.placeOrder(order); } } ``` 6. 编写测试用例 最后,编写测试用例对系统进行测试,保证系统的稳定性和可靠性。具体实现可以参考以下代码: ```java @SpringBootTest class CakeOrderApplicationTests { @Autowired private CakeOrderController cakeOrderController; @Test void testRegister() { User user = new User(); user.setUsername("test"); user.setPassword("123456"); User result = cakeOrderController.register(user); assertNotNull(result.getId()); } @Test void testLogin() { User result = cakeOrderController.login("test", "123456"); assertNotNull(result); } @Test void testChooseCake() { Cake result = cakeOrderController.chooseCake("cakeId"); assertNotNull(result); } @Test void testPlaceOrder() { Order order = new Order(); order.setUserId("userId"); order.setCakeId("cakeId"); Order result = cakeOrderController.placeOrder(order); assertNotNull(result.getId()); } } ``` 总体来说,实现一个订购蛋糕系统需要涉及到很多方面,包括数据库设计、业务逻辑、控制器等。但是,如果您有相关的开发经验和技能,应该可以轻松完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值