이 특정 Spring MVC 구성에서 라우팅을 구현하는 방법에 대한 다음 질문이 있습니다.
따라서 mvc-config.xml 이라는 파일 에 다음과 같은 MVC 구성이 있습니다.
<!-- other option is UrlFilenameViewController -->
<mvc:view-controller path="/" view-name="/index"/>
<mvc:view-controller path="/index.html" view-name="/index"/>
<mvc:view-controller path="/html5.html" view-name="/html5/html5"/>
<mvc:view-controller path="/about.html" view-name="/about"/>
<mvc:view-controller path="/admin/admin.html" view-name="/admin/admin"/>
<mvc:view-controller path="/login.html" view-name="/form/login"/>
<mvc:view-controller path="/denied.html" view-name="/error/denied"/>
<mvc:view-controller path="/rest.html" view-name="/rest/rest"/>
<mvc:view-controller path="/file.html" view-name="/file/file"/> <!-- Mapping per l'empio dell'upload file -->
<mvc:view-controller path="/cookieView.html" view-name="/cookie/cookieView"/>
<mvc:view-controller path="/jstl.html" view-name="/jstl/jstl"/>
<mvc:view-controller path="/audiovideo.html" view-name="/audiovideo/audiovideo"/>
<mvc:view-controller path="/jdbc.html" view-name="/jdbc/jdbc"/>
<mvc:view-controller path="/orm.html" view-name="/orm/orm"/>
<mvc:view-controller path="/scope.html" view-name="/scope/scope"/>
<mvc:view-controller path="/maintenance.html" view-name="/maintenance"/>
<mvc:view-controller path="/security.html" view-name="/security/security"/>
<mvc:view-controller path="/controller.html" view-name="/controller/controllerView"/>
나는 이런 종류의 설정을 본 적이 없으며 특정 리소스에 대한 특정 HttpRequest를 처리하고 논리적 뷰 이름을 반환하는 @RequestMapping으로 주석이 달린 메서드가 포함 된 컨트롤러 클래스 ( @Controler 주석이 달린 )를 항상 사용했습니다 .
따라서 내가 작업하는 응용 프로그램에서 MVC 논리가 상당히 다른 것 같습니다.
나는 컨트롤러 클래스 가 없으며 라우팅이 명시 적으로 처리되는 것 같습니다.
예를 들어 다음과 같습니다.
<mvc:view-controller path="/file.html" view-name="/file/file"/>
모든 핸들을 향해 요청 : I 수단 생각 /file.html의 게재하며 자원 file.jsp의 내부입니다 페이지 / 파일 / 뷰 디렉토리의 폴더에 저장합니다.
그리고 실제로 보기 디렉토리에 다음과 같은 /file/file.jsp 페이지가 있습니다.
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="page" tagdir="/WEB-INF/tags" %>
<page:template>
<jsp:attribute name="title">
Spring MVC File Upload Controller Example
</jsp:attribute>
<jsp:body>
<c:url value="/uploadFile" var="fileUploadControllerURL" />
<h1><b>Spring MVC FileUploadController Example</b></h1> <br/>
<form action="${fileUploadControllerURL}" method="post" enctype="multipart/form-data">
<table>
<tr><td><b>File:</b></td><td><input type="file" name="file"></td><td><input type="submit" value="Press to upload the File"></td></tr>
</table>
</form>
<br/><br/>
<c:url value="/excel" var="excelController" />
<a href="${excelController}">Excel</a><br/>
<c:url value="/pdf" var="PDFController" />
<a href="${PDFController}">PDF</a>
</jsp:body>
</page:template>
보시다시피이 페이지는 다음과 같습니다.
<c:url value="/excel" var="excelController" />
<a href="${excelController}">Excel</a><br/>
정확히 무슨 뜻입니까?
첫 번째 줄이 / excel 값을 excelController 라는 변수에 넣은 다음 href에 사용되는 것 같습니다.
내 추론이 맞습니까, 아니면 뭔가 놓치고 있습니까?
<c:url>
매우 유용하고 강력한 jspl-tag입니다. 일반적으로 당신이 옳습니다 :
<c:url value="/excel" var="excelController" />
<a href="${excelController}">Excel</a><br/>
첫 번째 줄이 / excel 값을 excelController라는 변수에 넣은 다음 href에 사용되는 것 같습니다.
그러나 몇 가지 세부 정보가 누락되었습니다.에 저장된 값은 excelController
정확히는 /excel
아니지만에 대한 도메인 상대 URL이며 /excel
세션 추적이 구성된 방식에 따라 sessionId 매개 변수가있을 수 있습니다.
예를 들어 "MyApp"이라는이 앱으로 로컬 호스트 tomcat을 실행하고 쿠키를 사용하여 세션을 추적한다고 가정하면 다음과 같습니다 excelController
./MyApp/excel
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다