인프런 커뮤니티 질문&답변

hello world님의 프로필 이미지
hello world

작성한 질문수

윤재성의 만들면서 배우는 Spring MVC 5

이전에 질문드린 16강 form태그 오류 관련 소스코드입니다.

작성

·

294

0

안녕하세요.  이전 16강 질문에 주신 답변 잘 확인하였습니다. 오류가 지속되어 다시 문의드리고자 하는데요,

-------------------

오류 내용:

절대 URI인 [http://www.springframework.org/tags/form]을(를), web.xml 또는 이 애플리케이션과 함께 배치된 JAR 파일 내에서 찾을 수 없습니다.

------------------------------

답변 주신 부분 확인 후

.m2 파일을 지우고 이클립스 실행을 여러 번 해보았지만 오류가 해결되지 않습니다.

지금까지 인터넷을 검색해서 시도해 본 것은

WEB/INF 하위 lib 폴더에 직접 jstl.jar 파일을 추가,

classpath 확인,

톰캣 폴더 내 lib 안에 jstl.jar 추가,

catalina.properties 파일을 확인,

taglib dependecy 추가,

spring-webmvc dependecy 삭제 후 다시 붙여넣기

제가 작성한 프로젝트가 아닌 수업자료의 소스코드 임포트하여 실행,

모두 같은 오류가 지속됩니다.

인터넷을 검색해도 무엇이 문제인지 잘 모르겠습니다.

톰캣을 삭제하고 다시 깔라는 글도 보았는데,

일단 이전에 톰캣 8.5 설치 후 9로 재설치하고자,

완전 삭제(?) 키워드로 검색하여 인터넷을 참고하여 삭제했지만 

삭제가 잘 안 된 상태에서 9를 깔았었는데..

톰캣이 문제인지, 아니면 혹시 발견 못한 소스 상 문제가 있는지..

시간을 많이 써도 해결을 못해 코드 첨부합니다.

----------------------------------------------< pom.xml > -------------------------------------------------------

<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
							  https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>11_FormCustomTag</groupId>
	<artifactId>11_FormCustomTag</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>war</packaging>
	<build>
		<sourceDirectory>src</sourceDirectory>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.8.1</version>
				<configuration>
					<release>14</release>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-war-plugin</artifactId>
				<version>3.2.3</version>
				<configuration>
					<warSourceDirectory>WebContent</warSourceDirectory>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<!-- 라이브러리 버전 관리 -->
	<properties>
		<!-- servlet -->
		<javax.servlet-version>4.0.1</javax.servlet-version>
		<!-- jsp -->
		<javax.servlet.jsp-version>2.3.3</javax.servlet.jsp-version>
		<!-- jstl -->
		<javax.servlet.jsp.jstl-version>1.2</javax.servlet.jsp.jstl-version>
		<!-- spring web mvc -->
		<org.springframework-version>5.3.4</org.springframework-version>
		<!-- <org.springframework-version>4.3.30.RELEASE</org.springframework-version> -->
	</properties>

	<!-- 라이브러리 세팅 부분 -->
	<dependencies>
		<!-- servlet (공통세팅) -->
		<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>${javax.servlet-version}</version>
			<scope>provided</scope>
		</dependency>

		<!-- jsp (공통세팅) -->
		<!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api -->
		<dependency>
			<groupId>javax.servlet.jsp</groupId>
			<artifactId>javax.servlet.jsp-api</artifactId>
			<version>${javax.servlet.jsp-version}</version>
			<scope>provided</scope>
		</dependency>

		<!-- jstl (공통세팅) -->
		<!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
			<version>${javax.servlet.jsp.jstl-version}</version>
		</dependency>

		<!-- spring web mvc (공통세팅) -->
		<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>

	
	</dependencies>
</project>

-----------------------------------------------------------------------< test2.jsp>--------------------------------

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>test2</h1>
	<!-- 사용할 프로퍼티들이 들어있는 빈을 지정 -->
	<form:form modelAttribute="userDataBean" action="result">
		<!-- path에는 지정한 객체 안의 필드명 -->
		이름 : <form:input path="user_name"/><br>
		아이디 : <form:input path="user_id"/><br>
		비밀번호 : <form:password path="user_pw" showPassword="true"/><br>
		<!-- 비밀번호도 보이게 하려면 showPassword="true" -->
		우편번호 : <form:input path="user_postcode"/><br>
		주소1 : <form:input path="user_address1"/><br>
		주소2 : <form:input path="user_address2"/><br>
		<button type="submit">확인</button>
	</form:form>
</body>
</html>

답변 1

1

소프트캠퍼스님의 프로필 이미지
소프트캠퍼스
지식공유자

혹시 스프링 버전을 바꿔도 문제가 나타나는지 확인해 보실수 있을 까요??

maven 서버 문제로 jar 파일이 다운로드가 안될 수도 있습니다..

버전을 바꿔서 다시 시도해 보시기 바랍니다.

hello world님의 프로필 이미지
hello world
질문자

maven dependencies에 필요한 것이 모두 잘 있는데, 스프링 버전을 여러가지로 바꾸어도, 지우고 다시 다운 받아도, 이것을 해보아도, 저것을 해보아도, 자꾸 찾지 못한다는 오류가 지속되어 WEB-INF 폴더 안의 lib 폴더 안에 spring-webmvc jar 파일을 직접 넣었더니 해결이 되었습니다. 일주일은 고생했는데 이제야 속이 풀립니다 ㅠㅠ

hello world님의 프로필 이미지
hello world

작성한 질문수

질문하기