카테고리 없음

04/27 국비학원 환경설정 시험

코딩마스터^^ 2023. 4. 27. 14:07

문제

다음과 같은 기능을 수행할 수 있는 Spring MVC Project를 작성하려고 한다.
제시된 조건을 활용하여 요구사항을 충족할 수 있는 코드를 작성하고 프로젝트 구조를 캡처하여 첨부하시오.


[기능]
- 프로젝트 실행 시 로그인 화면이 나타남
- 알맞은 아이디, 비밀번호 입력 시 로그인 입력창이 사라지며
"[회원명]님 환영합니다." 문구 출력
- 잘못된 아이디, 비밀번호 입력 시 "로그인 실패" 경고창 출력


[요구 사항]


1. 프로젝트에 사용할 라이브러리를 pom.xml을 이용하여 추가(mavenrepository 이용)
- ojdbc8 (version : 21.1.0.0)
- mybatis (version : 3.5.6)
- mybatis-spring (version : 2.0.6)
- spring-jdbc (version : 5.2.11.RELEASE)
- commons-dbcp (version : 1.4)


2. MemberController 클래스 작성


1) 로그인 요청 URL을 매핑하여 서비스 호출 및 뷰 연결처리를 하는 메소드
public String memberLogin() 작성.
(매개변수는 자유롭게 선언, 반환값은 return "redirect:/";)


2) Session 생성(loginUser)


3. MemberService 인터페이스, MemberServiceImpl 클래스 작성


4. MemberDAO 클래스 작성


5. mybatis-config.xml 작성
1) Member 클래스의 별칭을 Member로 지정
2) member-mapper.xml 파일을 mapper로 등록


6. member-mapper.xml 작성
1) VO 클래스와 Member 테이블 조회 결과를 매핑할 resultMap 작성 (id="memberResultSet")
2) 로그인 기능을 수행하기 위한 select 엘리먼트 작성 (id="loginMember)


[조건]
- 프로젝트명 : ncsTest1
- 최상위 패키지 : com.ncs.test
- JSTL 라이브러리 파일 추가
- 테이블 & 샘플데이터


CREATE TABLE MEMBER(
MEMBER_ID VARCHAR2(30) PRIMARY KEY,
MEMBER_PWD VARCHAR2(100) NOT NULL,
MEMBER_NM VARCHAR2(15) NOT NULL,
MEMBER_ENROLL_DT DATE DEFAULT SYSDATE
);


INSERT INTO MEMBER VALUES('user01', 'pass01', '홍길동', DEFAULT);


- 인터페이스 생성


com.ncs.test.member.model.service.MemberService


- 클래스 생성


com.ncs.test.member.controller.MemberController
com.ncs.test.member.model.dao.MemberDAO
com.ncs.test.member.model.service.MemberServiceImpl (MemberService 상속)
com.ncs.test.member.model.vo.Member


- Member 클래스의 필드 (생성자, get/setter, toString 작성)


private String memberId;
private String memberPwd;
private String memberName;
private Date memberEnrollDate; // (import : java.sql.Date)


- src/main/resources 폴더에 mybatis 관련 설정 파일 추가
mybatis-config.xml
mappers/member-mapper.xml


-------------------- web.xml 추가 내용 --------------------


<!-- welcome-file 설정 -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>


<!-- 문자 인코딩 필터 설정 -->
<filter>
<filter-name>encodingFilter</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>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


-------------------- pom.xml 추가/수정 내용 --------------------
<!-- Java, SpringFramework 버전 수정 -->
<properties>
<java-version>1.11</java-version>
<org.springframework-version>5.2.11.RELEASE</org.springframework-version>
<org.aspectj-version>1.6.10</org.aspectj-version>
<org.slf4j-version>1.6.6</org.slf4j-version>
</properties>


-------------------- root-context.xml 추가 --------------------
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe"/>
<property name="username" value="ncsUser"/>
<property name="password" value="ncsUser"/>
<property name="defaultAutoCommit" value="false"/>
</bean>
<bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="configLocation" value="classpath:mybatis-config.xml"/>
<property name="dataSource" ref="dataSource"/>
</bean>
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg ref="sqlSessionFactoryBean"/>
</bean>


-------------------- mybatis-config.xml --------------------
<?xml version="1.0" encoding="UTF-8"?>
http://mybatis.org/dtd/mybatis-3-config.dtd" >
<configuration>
<settings>
<setting name="jdbcTypeForNull" value="NULL"/>
</settings>
</configuration>


-------------------- index.jsp --------------------
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그인 테스트</title>
</head>
<body>
<c:if test="${!empty msg}">
<script>
alert("${msg}");
<c:remove var="msg"/>
</script>
</c:if>
<c:if test="${empty loginMember}">
<form action="login" method="post">
<label> ID : </label> <input type="text" name="memberId"> <br>
<label>PWD : </label> <input type="password" name="memberPwd"> <br>
<button>로그인</button>
</form>
</c:if>
<c:if test="${!empty loginMember}">
<h3>${loginMember.memberName} 님 환영합니다.</h3>
</c:if>
</body>
</html>
전체코드

ojdbc8을 메이븐 디펜던시 추가할때 

그래서 

]

 

- commons-dbcp (version : 1.4)

 

위의 코드로 오류가 났다.

Spring 3버전은 자바가상머신 5를 지원..

버전에 따라 자바가상머신이 다르다.

버전에 따라서 다르다. 500번 에러떨어질 수 있다.