這期內容當中小編將會給大家帶來有關如何使用Spring與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;
}
}上述就是小編為大家分享的如何使用Spring與MongoDB制作一個登錄注冊功能了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。