- legacy project 생성
- encoding 변경 등 window - preferences setting
- D:\legacy\.metadata\.plugins\org.springsource.ide.eclipse.commons.content.core
에 html 넣고
D:\legacy\.metadata\.plugins\ 에 폴더 넣기 (하단에 zip파일 첨부해놓음 - 실제 사이트에서 다운받아도 됩니다) - javaIDE/STS.ini 의 javaw.exe를 D:\Java\jdk-11\bin => 요 경로로 변경 및 version 변경
- spring lecacy 는 java17번 이하에서만 가능하기때문! - 우클릭 - spring legacy project - spring MVC project
=> next => kr.co.abc (가상의 도메인 거꾸로 씀 - 3가지 파트가 들어가야함) - finish - 서버 신규로 apache 8.5 , jre - java 11 - add
- 프로젝트 우클릭
properties - build path : [ java ,server ] add library
java compiler - java 11
project jacets - dynamic 3.0 java 11 javascript ck
web project Settins - / - pom.xml java version 11번으로 변경 후 저장 - 상단 java-version , org.apache.maven.plugins
- pom.xml에 없는 것 중 maver repository 에서 필요한 라이브러리 다운 후 복붙
(얘네는 직접 추가해야하는 라이브러리들)
- spring-jdbc 5.3.37 - 얘 에러남 aspect J 위에 넣기
- commons-fileupload 1.5
- mysql-connector-java 8.0.33
- project lombok 1.18.34
- Commons DBCP 1.4
- Tomcat Servlet API - 8.5.61 (사용 apache 버전과 같은거)
=> maven update project 해줘야함 - web.xml
상단 xsi:schemaLocation web-app_3_0.xsd , 하단 web-app version="3.0"로 변경 - web.xml 의 <web-app> 안에 한글깨짐 방지 코드 작성
<!-- 한글깨짐 방지 -->
<filter>
<filter-name>encoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<int-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</int-param>
<int-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</int-param>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>setCharacterEncodingFilter</filter-name>
<filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>setCharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
깨짐현상 이거넣으니까 해결됨 뭐지.. - spring/appServlet/servlet-context.xml
resource mapping="/**" location="/" ,prefix value="/"경로 변경
※ js,css등 리소스 경로 지정(보안을 위해서 이렇게 하는게 좋음) : https://dev-eunse.tistory.com/204 - HomeController.java(controller) 얘는 지워두댐니다
- 접근 경로에 프로젝트명 빼고싶으면
프로젝트 우클릭 - properties - web project setting / 로 변경 후
=> webapp에 index 파일 만들어서 저장 (index.jsp 아님 속성명 붙이지 않음!!)
=> 서버 add and remove로 뺏다가 다시 넣고 서버 재가동
[legacy db연결]
- web.xml의 <param-name>contextConfigLocation</param-name>
<param-value> 에 /WEB-INF/spring/appServlet/dbconfig.xml (내가만든 파일명임 xml) 이거 추가 : 파일등록 - WEB-INF의 appServlet 폴더에 spring bean cofiguration file 새로 만듬 (이거 파일명이 dbconfig.xml)
체크박스 : beans,context,cache,jdbc,mvc,mybatis,util 등 필요한거 최신버전으로 체크 후 finish - dbconfig.xml에
<context:annotation-config /> <!-- 해당부분이 없으면 template 사용하지 못함 -->
<context:property-placeholder location="/WEB-INF/classes/dbconfig.properties"></context:property-placeholder>
<bean id="dbInfo" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driver}"></property>
<property name="url" value="${jdbc.url}"></property>
<property name="username" value="${jdbc.user}"></property>
<property name="password" value="${jdbc.pass}"></property>
</bean>
작성
=> mybatis 사용시 추가코드 있음 https://dev-eunse.tistory.com/232 - WEB-INF/spring/calsses 폴더에 new file -> dbconfig.properties 파일 생성
- dbconfig.properties 에
jdbc.driver = com.mysql.cj.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/cms
jdbc.user = hana
jdbc.pass = hana1234
작성 (뒤에 공백 절대 안됨!! ; 도 안됨)
🔽 DB연결 확인 (Controller에서 확인하면 됨)
@Autowired
BasicDataSource dbInfo;
@RequestMapping("/test.do")
public void test() throws Exception{
try {
Connection con = dbInfo.getConnection();
System.out.println(con);
}catch(Exception e) {
System.out.println("데이터베이스 연결 오류");
}
}
=> 성공시 jdbc:mysql://localhost:3306/cms, UserName=hana@localhost, MySQL Connector/J 요게 sysout으로 잘 찍힘
❗ ❗ ❗ ❗ 주의
legacy는 @Postmapping , @Getmapping 이 없다!!! (오직 @Request~ 만 존재)
또한 springframework의 버전이 너무 낮아도 사용 불가!! (5.0대 이상 사용해야함)
pom.xml 의
<org.springframework-version>3.1.1.RELEASE</org.springframework-version> 이 부분
<org.springframework-version>5.0.1.RELEASE</org.springframework-version> 이거로 변경
( maven repository 의 Spring Context 검색 후 있는 버전 확인 ) => @postmapping,getmapping 사용 가능
3. Spring mvc.zip 파일 => 해당 파일을 압축 풀어서 넣으면 됩니당
4. 이렇게 떠야 정상
'CLASS > SPRING,JSTL' 카테고리의 다른 글
#6-1 / JSTL 문법 - 1 (0) | 2024.07.15 |
---|---|
#5-4 / [ legacy ] 로그인 내가 해봉거 (0) | 2024.07.12 |
#5-2 / gallery board delete (spring + I/O + database) (0) | 2024.07.12 |
#5-1 / gallery board select-view (spring + I/O + database) (0) | 2024.07.12 |
#4-3 / gallery board select-list (spring + I/O + database) (0) | 2024.07.11 |