Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Указать путь к файлу


Автор: kaktotak 1.12.2013, 22:03
Здравствуйте, как при такой структуре приложения прописать путь к файлу testcheck.js из jsp страницы, находящейся в папке jsp? 

mypage.jsp

Код

<script src="../js/testchech.js" type="text/javascript"></script>


Автор: Pawl 1.12.2013, 23:11
вроде как для прописывания файлов css, а также js, надо в web.xml прописать:
Код

<servlet-mapping>
  <servlet-name>default</servlet-name> 
  <url-pattern>*.css</url-pattern> 
</servlet-mapping>

Автор: Samotnik 1.12.2013, 23:48
kaktotak, потому что иерархия неправильная, WEB-INF должна содержать private ресурсы, а именно всю java (lib'ы, конфиги спринга, хибера, лог4j, jar, web.xml и т.д.) jsp и js должны лежать на уровень выше. 
Когда будет так, по идее, ваш код:
Код

<script src="../js/testchech.js" type="text/javascript"></script>

должен работать

Кстати, index.jsp, login.jsp лежат правильно, зачем было еще папку jsp в web-inf пихать?

Добавлено через 6 минут и 1 секунду
Pawl, это не нужно, если нет спец обработчиков (фильтры, интерсепторы, либо другие какие нибудь особенности приложения)

Автор: kaktotak 2.12.2013, 00:39
Изменил вот на такую структуру, но что-то все равно не работает :(

Автор: kaktotak 2.12.2013, 01:09
Заработало, но по другому: добавил
Код

 <servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>/js/*</url-pattern>
</servlet-mapping>


и путь указал, как: 

Код

<script src="js/testcheck.js" type="text/javascript"></script>


Спасибо за помощь!

Автор: Pawl 2.12.2013, 07:16
Цитата(kaktotak @  2.12.2013,  01:09 Найти цитируемый пост)
Заработало, но по другому: добавилРазметка HTML1:2:3:4: <servlet-mapping>    <servlet-name>default</servlet-name>    <url-pattern>/js/*</url-pattern></servlet-mapping>highlightSyntax('xml_wZDFjM','xml');и путь указал, как: 

Samotnik, значит, все-таки нужно? smile Видимо, там все-таки был какой-то спец. обработчик...

Автор: Samotnik 4.12.2013, 14:19
нашел время. Что-то тут не то:
Вот за 2 минуты сгенерил проект:
user posted image
index.jsp
Код

<%-- Created by IntelliJ IDEA. --%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
      <script src="${pageContext.request.contextPath}/js/test.js" type="text/javascript"></script>  <%--  Либо так--%>
      <%--<script src="/js/test.js" type="text/javascript"></script>--%>            <%--  Либо так--%>
    <title></title>
  </head>
  <body onload="callMe();">
    Hello
  </body>
</html>


test.js
Код

function callMe() {
    alert("1");
}


web.xml
Код

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
          http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
           version="2.5">

    <servlet>
        <servlet-name>MyServlet</servlet-name>
        <servlet-class>my.MyServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/my</url-pattern>
    </servlet-mapping>
</web-app>


MyServlet
Код

package my;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * User: Andrew
 * Date: 04.12.13
 */
public class MyServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("doGet() method");
    }
}


Все работает.
Кстати, web.xml можно вообще оставить пустым, тут сервлет вообще не нужен. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)