spring 프레임워크

주가희·2023년 11월 28일

인코딩 하고 메이븐 자동 업데이트 체크해제

빌드툴 ant 썼음 다이나믹웹프로젝트 기본 빌드 툴
jdbc, 서블릿 api 다 숨김
maven 빌드 툴 로 변경해야함
톰캣을 내장 시킬거임
jar 자바아카이브파일 앱 ->필요한거 : os
war - 웹서비스 필요


file ->

프로젝트 소스를 감시하다 수정하고 삭제하면 톰캣이 자동으로 리부팅 됨
안하면 톰캣이 내장되어있기 때문에 수정적용이 안될수도 있음

jsp는 못만들어서 따로 넣어줘야함
현재 국내에서는 다른 뷰 라이브러리보다 jsp를 더 선호함
왜냐 ? 덜 귀찮고 유연성이 좋음

ant 빌드 툴은 프로젝트안에 lib폴더에 라이브러리를 넣어서사용했지만
메이븐을 사용하면 (프로젝트 만들때 선택했던 라이브러리가) 로컬 호스트에 저장되기 때문에
porm.xml파일만 같이 넘겨주면 알아서 다운로드 받는다
(나중에 혹시 에러가 나면 로컬호스트에 저장된 라이브러리 파일들을 지우고 porm.xml파일이 있다면 다시 다 다운받음)
prm.xml 코드 에러는 세번째 줄에 https://maven...에서 s를 지우면 됨

설정파일

스프링 부트 -> 설정파일을 하나로 만들었다 (여러개여도 상관없음) 원래는 서버설정, db설정 등등 여러개 필요하지만 스프링 부트에서는 하나로 만들어서 더 편리하게 사용할 수 있다

설정파일은 공백x, enter만

톰캣 포트 설정


컨택트패스설정


db까지 설정


html파일은 static에 만들어도 src->main->webapp에 만들어도 됨
배포될때 webapp로 이동함
templates폴더는 뷰..하지만 우리는 템플릿안써서 사용 X

package com.example.ex1.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HelloController {
	@GetMapping("/one")
	public String one() {
		System.out.println("one...");
		return "";
	}
	@GetMapping("/two")
	public String twe() {
		System.out.println("two...");
		return "";
	}

}

하나의 컨트롤러에 여러개의 매핑이 가능
논리적인 단위로

	@RequestMapping("/three")
	public String three() {
		System.out.println("three...");
		return "";
	}

get, post 둘 다 처리
옛날버전
하나의 요청으로 get,post둘 다 처리해야 할 때

@Controller
public class HelloController {
	@GetMapping("/one")
	public String one(HttpServletRequest request) {
		System.out.println(request.getParameter("name"));
		return "";
	}
	@GetMapping("/two")
	public String two(String name) {
		System.out.println(name);
		return "";
	}
	@GetMapping("/three")
	public String three(int no) {
		System.out.println(no);
		return "";
	}
}

request.getParameter integerParse도 해줘서 받아줌

마이바티스 orm 프레임워크 x sql 프레임워크

orm 프레임워크 db연결 프로젝트

xml파일 에러

설정해제후 다시 체크해도 없음 버그??

쿼리저장 xml파일은 인터페이스로 만들고

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.ex1.mapper.MemberMapper"> <!-- namespace에 동기화 할 인터페이스 이름 -->
	<!-- id이름은 동기화 할 메서드 이름 -->
	<select id="selectMemberList" resultType="com.example.ex1.vo.Member">
		SELECT 
			member_no memberNo,
			member_id memberId,
			createdate,
			member_level memberLevel
		FROM memeber
	</select>
</mapper>

jsp쓰려면 라이브러리 추가

세번째 꺼

복사해서

pom.xml에 버전 삭제하고 붙여넣기


		</dependency>
		<!-- https://mvnrepository.com/artifact/org.apache.tomcat.embed/tomcat-embed-jasper -->
		<dependency>
   			<groupId>org.apache.tomcat.embed</groupId>
    		<artifactId>tomcat-embed-jasper</artifactId>
		</dependency>
		<!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
		<dependency>
    		<groupId>javax.servlet</groupId>
    		<artifactId>jstl</artifactId>
    		<version>1.2</version>
		</dependency>
profile
주웅

0개의 댓글