IDEA 가 springmvc 의 간단 한 등록 로그 인 기능 을 실현 하 는 예시 코드
spring 프로필
SpringMVC 프레임 워 크 는 요청 을 구동 하여 Servlet 디자인 을 중심 으로 요청 을 컨트롤 러 에 보 낸 다음 모델 대상,할당 기 를 통 해 요청 결과 보 기 를 보 여 줍 니 다.그 중에서 핵심 클래스 는 Dispatcher Servlet 입 니 다.이것 은 Servlet 이 고 맨 위 는 실 현 된 Servlet 인터페이스 입 니 다.
프로젝트 생 성
그림 에 항목 이름 을 입력 하면 됩 니 다.다른 것 은 바로 next 입 니 다.
위의 그림 에서 보 듯 이 두 개의 가방 을 만 들 고 가방 의 종 류 를 지정 합 니 다.다음 그림 에서 자바 가방 은 Sources Root 로 지정 하고 resources 가방 은 Resources root 로 지정 합 니 다.
전체 디 렉 터 리 구조:
pom 의존
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<spring.version>4.3.18.RELEASE</spring.version>
<mysql.version>5.1.48</mysql.version>
<servlet.version>3.0-alpha-1</servlet.version>
<commons-codec.version>1.9</commons-codec.version>
<commons-dbcp.version>1.4</commons-dbcp.version>
<jetty.version>8.1.8.v20121106</jetty.version>
<slf4j.version>1.7.5</slf4j.version>
<testng.version>6.8.7</testng.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.3.18.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version> 1.4</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>3.0-alpha-1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.4</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.14.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
2.1.domain 실체 클래스
package domain;
public class User {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
2.dao 층(조회 와 삽입 실현)
package dao;
import domain.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
@Repository
public class UserDao{
private JdbcTemplate jdbcTemplate;
private final static String sql=" Select count(*) from user_name where username=? and password=? ";
private final static String sqlInsert="insert into user_name(username,password) values (?,?)";
@Autowired
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
public int FindUser(String username,String password)
{
return jdbcTemplate.queryForObject(sql,new Object[]{username,password},Integer.class);
}
//
public void InsertUser(String username,String password){
jdbcTemplate.update(sqlInsert, username,password);
}
}
3.서비스 계층
package service;
import dao.UserDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserService {
private UserDao userdao;
@Autowired
public void setUserDao(UserDao userdao) {
this.userdao = userdao;
}
public boolean Match(String username,String password)
{
int count=userdao.FindUser(username,password);
return count>0;
}
public void InsertUser(String username,String password){
userdao.InsertUser(username,password);
}
}
4.controller 층(여기 서 사용 하 는 가방 이름 은 웹)
package web;
import domain.User;
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 org.springframework.web.servlet.ModelAndView;
import service.UserService;
import javax.servlet.http.HttpServletRequest;
@Controller
public class UserController {
private UserService userService;
@Autowired
public void setUserService(UserService userService)
this.userService = userService;
}
@RequestMapping(value = "/index.html")
public String tologin()
{
return "login";
}
@RequestMapping(value = "/login")
public ModelAndView login(HttpServletRequest request, User user){
boolean isValidUser=userService.Match(user.getUsername(),user.getPassword());
if (isValidUser){
request.getSession().setAttribute("User",user.getUsername()+": ");
return new ModelAndView("success");
}else{
return new ModelAndView("login");
}
}
@RequestMapping("/insert")
public String InsertUser(User user, Model model){
userService.InsertUser(user.getUsername(),user.getPassword());
model.addAttribute("Insert"," ");
return "success1";
}
@RequestMapping("/insertPage")
public String InsertPage()
{
return "register";
}
}
3.xml 설정1.web.xml
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app 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"
version="3.0">
<display-name>Archetype Created Web Application</display-name>
<display-name>Archetype Created Web Application</display-name>
<!-- Spring , WEB-INF applicationContext.xml -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:dispatcher-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
resource 에 spring xml 파일 두 개 를 새로 만 듭 니 다.2.applicationContext.xml
spring 의 프로필 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:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
>
<!-- -->
<context:component-scan base-package="dao"/>
<context:component-scan base-package="service"/>
<context:component-scan base-package="web"/>
<!-- -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property>
<property name="url"><value>jdbc:mysql://localhost:3306/web1</value></property>
<property name="username"><value>root</value></property>
<property name="password"><value>123</value></property>
</bean>
<!-- Jdbc -->
<bean class="org.springframework.jdbc.core.JdbcTemplate"
id="jdbcTemplate" p:dataSource-ref="dataSource"/>
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
p:dataSource-ref="dataSource"/>
</beans>
3.dispatcher-servlet.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:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/cache"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache.xsd"
>
<context:component-scan base-package="dao"/>
<context:component-scan base-package="service"/>
<context:component-scan base-package="web"/>
<mvc:annotation-driven/>
<!--mvc -->
<bean id="defaultViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/jsp/"/><!-- JSP -->
<property name="suffix" value=".jsp"/>
<property name="exposeContextBeansAsAttributes" value="true"/>
</bean>
<!-- proxy-target-class="true" -->
<aop:aspectj-autoproxy proxy-target-class="true"/>
</beans>
4.Jsp1.login
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title> </title>
</head>
<body>
${error}
<form action="<c:url value="/login"/>" method="post">
:<input type="text" name="username"><br>
:<input type="password" name="password"><br>
<input type="submit" value=" ">
</form>
<a href="${pageContext.request.contextPath}/insertPage" rel="external nofollow" > </a>
</body>
</html>
2.register
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<form method="post" action="${pageContext.request.contextPath}/insert">
:<input type="text" name="username"><br>
:<input type="password" name="password"><br>
<input type="submit" value=" ">
</form>
</body>
</html>
3.success
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title> </title>
</head>
<body>
${User}
</body>
</html>
4.success1
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title> </title>
</head>
<body>
<a href="${pageContext.request.contextPath}/index.html" rel="external nofollow" > ${Insert}</a>
</body>
</html>
Tomcat 을 설정 하면 실행 할 수 있 습 니 다.간단 한 로그 인 인터페이스
IDEA 가 springmvc 의 간단 한 등록 로그 인 기능 을 실현 하 는 것 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 아이디어 springmvc 등록 로그 인 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Gradle + Kotlin + Thymeleaf에서 Hello World평소에는 toB의 업무 시스템을 만들고 있습니다. 사내에서의 기술의 업데이드가 없기 때문에 개인적으로 여러가지 배우려고 생각해, 처음에 Spring Boot로 간단한 프로젝트를 만들려고 했습니다만 생각보다 걸리거나 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.