spring3.0 주석을 통해 로그인 간단한 실례
8634 단어 Spring3
UserDao
package com.spring.dao.impl;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowCallbackHandler;
import org.springframework.stereotype.Repository;
import com.spring.dao.IUserDao;
import com.spring.pojo.User;
@Repository // spring DAO
public class UserDao implements IUserDao{
@Autowired // JdbcTemplate Bean
private JdbcTemplate jdbcTemplate;
public int getMatchCount(String userName, String password) {
// TODO Auto-generated method stub
String sql="select count(*) from t_user where user_name=? and password=?";
int count=jdbcTemplate.queryForInt(sql, new Object[]{userName,password});
return count;
}
public User findUserByUserName(final String userName) {
// TODO Auto-generated method stub
String sql="select user_id,user_name from t_user where user_name=?";
final User user=new User();
jdbcTemplate.query(sql, new Object[]{userName},new RowCallbackHandler() {//
public void processRow(ResultSet rs) throws SQLException {
// TODO Auto-generated method stub
user.setUserId(rs.getInt("user_id"));
user.setUserName(userName);
}
});
return user;
}
public void updateLoginInfo(User user) {
// TODO Auto-generated method stub
String sql="update t_user set last_visit=?,last_ip=? where user_id=?";
jdbcTemplate.update(sql, new Object[]{user.getLastVisit(),user.getLastIp(),user.getUserId()});
}
public JdbcTemplate getJdbcTemplate() {
return jdbcTemplate;
}
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
}
Controller
package com.spring.controller;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.spring.biz.IUserBiz;
import com.spring.command.LoginCommand;
import com.spring.pojo.User;
@Controller // Spring MVC Controller
@RequestMapping(value="/admin")
public class LoginController {
@Autowired
private IUserBiz userBiz;
@RequestMapping(value="/login.html")// /login.html
public String loginPage(){
return "login";
}
@RequestMapping(value="/loginCheck.html")
public ModelAndView loginCheck(HttpServletRequest request, LoginCommand loginCommand){//loginCommand pojo
boolean isValidUser=userBiz.hasMatchUser(loginCommand.getUserName(), loginCommand.getPassword());
if (!isValidUser) {
return new ModelAndView("login","error"," / ..!");
}else {
User user=userBiz.findUserByUserName(loginCommand.getUserName());
user.setLastIp(request.getRemoteAddr());
user.setLastVisit(new Date());
userBiz.loginSuccess(user);
request.getSession().setAttribute("user", user);
return new ModelAndView("index");
}
}
public void setUserBiz(IUserBiz userBiz) {
this.userBiz = userBiz;
}
public IUserBiz getUserBiz() {
return userBiz;
}
}
applicationContext.xml 설정
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
<!-- , Spring Bean, Bean -->
<context:component-scan base-package="com.spring.dao.impl"/>
<context:component-scan base-package="com.spring.biz.impl"/>
<!-- DBCP -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close"
p:driverClassName="com.mysql.jdbc.Driver"
p:url="jdbc:mysql://localhost:3306/sample_db?useUnicode=true&characterEncoding=utf-8"
p:username="root"
p:password=""/>
<!-- JDBC Bean -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"
p:dataSource-ref="dataSource"/>
<!-- -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
p:dataSource-ref="dataSource"/>
<!-- AOP , biz Bean -->
<aop:config proxy-target-class="true">
<aop:pointcut id="serviceMethod" expression=" execution(* com.spring.biz.impl..*(..))" />
<aop:advisor pointcut-ref="serviceMethod" advice-ref="txAdvice"/>
</aop:config>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="*"/>
</tx:attributes>
</tx:advice>
</beans>
web.xml 설정
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
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_2_5.xsd">
<display-name></display-name>
<!-- 1 Spring ,classpath -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- Spring , 1 Spring -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- Spring MVC Servlet -->
<servlet>
<servlet-name>viewspace</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>viewspace</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
서비스 시작: 액세스 시 LoginController 컨트롤러 앞의 @RequestMapping(value="/admin")을 추가해야 합니다.
http://localhost:8080/spring1/admin/login.html
첨부 파일에 자세한 설명이 있습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Spring3 통합 Hibernate4Spring3 통합 Hibernate4 참고 사항: 1.jar 패키지 참고 프로젝트에 가져오려면 jaxen-1.1-beta-6.jar와commons-logging-api.jar, commons-logging-1.1....
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.