@고물선 ... 내가 막히는걸 가르쳐드리겠음..

by 수석코치 posted Oct 14, 2013
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄



대충 페이지 구성을 보니...


뭐 이상한 확장자 .vm 을 쓰길래... 이건 또 뭐냐.. 라고 생각 해서 찾아봤더니.. velocity를 써서 그렇다고 하더군..


그래서 web.xml / decoators.xml / sitemesh.xml 페이지가 중심이고 이 페이지중에.. 링크를 어케 걸면 되는거 같더라고...



그래서 web.xml 이 이렇게 구성되어있음..


<?xml version="1.0" encoding="UTF-8"?>

<decorators defaultdir="/velocity">

    <excludes>

        <pattern>/resources/*</pattern>

        <pattern>/*.html</pattern>

        <pattern>/main*</pattern>

        <pattern>/member/certncReturn.do*</pattern>

        <pattern>/member/checkplus*</pattern>

    </excludes>


   <decorator name="admin" page="admin/decorators/layout.vm">

        <pattern>/admin/*</pattern>

    </decorator>


    <decorator name="front" page="common/decorators/layout.vm">

        <!-- <pattern>/*</pattern> -->

        <pattern>/about/*</pattern>

        <pattern>/action/*</pattern>

        <pattern>/board/*</pattern>

   </decorator>


    <decorator name="festival" page="festival/decorators/layout.vm">

        <pattern>/festival/*</pattern>

        <pattern>/festival2/*</pattern>

-> 이게 내가 추가해보고자 하는 경로임...

    </decorator>



sitemesh.xml 페이지 


<?xml version="1.0" encoding="UTF-8"?>

<sitemesh>

    <property name="decorators-file" value="/WEB-INF/decorators.xml"/>

    <excludes file="${decorators-file}"/>


<page-parsers>

<parser content-type="text/html" class="com.opensymphony.module.sitemesh.parser.HTMLPageParser" />

</page-parsers>


<decorator-mappers>


<mapper class="com.opensymphony.module.sitemesh.mapper.PageDecoratorMapper">

<param name="property.1" value="meta.decorator" />

<param name="property.2" value="decorator" />

</mapper>


---------------------- 머 대충 이렇게 구성됨... -------------------


web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>kbs_dev</display-name>
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/spring-context.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/spring-servlet.xml
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.do</url-pattern>
-> 이게 모든 페이지 url 확장자를 jsp가 아닌 do 로 만들어버리는거 같고 ㅡ,.ㅡ
</servlet-mapping>

<!-- About Festival -->
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/festival</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/festival2</url-pattern>
</servlet-mapping>
-> 혹시나 해서 추가해본거... 그러나 안되더군 ㅡ.ㅡ

<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/tie</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/contest</url-pattern>
</servlet-mapping>
<!-- // About Festival -->

<!--  youinna -->
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/youinna</url-pattern>
</servlet-mapping>
<!-- // youinna -->

<filter>
<filter-name>sitemesh</filter-name>
<filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<servlet>
<servlet-name>sitemesh-velocity</servlet-name>
<servlet-class>com.opensymphony.module.sitemesh.velocity.VelocityDecoratorServlet</servlet-class>
<init-param>
<param-name>org.apache.velocity.toolbox</param-name>
<param-value>/WEB-INF/classes/velocity-toolbox.xml</param-value>
</init-param>
<init-param>
<param-name>org.apache.velocity.properties</param-name>
<param-value>/WEB-INF/classes/velocity.properties</param-value>
</init-param>
<load-on-startup>10</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>sitemesh-velocity</servlet-name>
<url-pattern>*.vm</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>60</session-timeout>
</session-config>
<error-page>
<error-code>403</error-code>
<location>/velocity/common/error/403.vm</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/velocity/common/error/404.vm</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/velocity/common/error/500.vm</location>
</error-page>

<security-constraint>
<display-name>VMProtection</display-name>
<web-resource-collection>
<web-resource-name>SecureVMPages</web-resource-name>
<url-pattern>*.vm</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>nobody</role-name>
</auth-constraint>
</security-constraint>

<security-role>
<description>
velocity template 직접 접근 막기 nobody role..
</description>
<role-name>nobody</role-name>
</security-role>

<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>



아무튼 하고 싶은건... html 페이지 몇장 만들어 놨으니.. 이걸 웹 상에서 보고 싶은건데.. -_-
그냥... festival2 요기에 넣어놓고.. 페이지만 열면 되거든.. ㅡ.ㅡ

근데... 완전 생 초짜라... 힘듬... 

그냥 페이지만들고 그 페이지 url 치고 들어가면 나타나는 페이지면 될줄 알고 JSP 하겠다고 한건데.. 내가 알기로도 그렇고 -_-
크헝 ㅜㅠㅠ

Who's 수석코치

profile

인천 유나이티드는, 

2017년에는 AFC 챔피언스 리그 진출할 수 있게 해주세요..

 

현실은 안돼. 돌아가. 진출할 수 없어.