• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

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

21.03.06 16:43 작성 조회수 226

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 파일이 다운로드가 안될 수도 있습니다..

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

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