您好,登錄后才能下訂單哦!
這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)如何使用Spring與MongoDB制作一個登錄注冊功能,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
工程目錄:
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"> <!-- 開啟自動注入,進(jìn)行包掃描 --> <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"/> <!-- 指定數(shù)據(jù)庫名字--> <constructor-arg name="databaseName" value="data1"/> </bean> <!-- 映射轉(zhuǎn)換器,掃描back-package目錄下的文件,根據(jù)注釋,把它們作為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> <!-- 統(tǒng)一字符編碼 --> <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制作一個登錄注冊功能了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。