два разных URI, отображающих одно и то же представление, один работает хорошо, однако css не может быть загружен для другого

Есть два метода с разными URI, которые сопоставляются с одним и тем же представлением при весенней загрузке, первый работает хорошо, однако второй может отображать только html, а css не может быть загружен, код выглядит следующим образом:

@Controller
public class ExamController {
    @RequestMapping("/quiz0")
    public ModelAndView quizingA() {
        System.out.println("run into quiz0");
        ModelAndView modelAndView = new ModelAndView("examination");
        return modelAndView;
    }

    @RequestMapping("/quiz1/{course}")
    public ModelAndView quizingB(@PathVariable("course") String course) {
        System.out.println("run into quiz1, couse choosed: " + course);
        ModelAndView modelAndView = new ModelAndView("examination");
        return modelAndView;
    }
}

Судя по журналу, оба они успешно достигнуты, насколько я знаю, ошибки быть не должно, верно?

Для первого, который хорошо работает, я использовал URL-адрес;

http://localhost:8080/quiz0

Для второго, который не удался, я использовал URL-адрес:

http://localhost:8080/quiz1/Java

Еще одна информация: я отключил весеннюю безопасность с переопределением WebSecurityConfigurerAdapter. Могу расклеить, если нужно.

Может ли кто-нибудь помочь объяснить это?

Заранее спасибо.


person Junjie    schedule 28.08.2014    source источник
comment
Вам нужно будет открыть сетевую консоль вашего браузера и проверить ответы на HTTP-запросы для CSS.   -  person Sotirios Delimanolis    schedule 28.08.2014
comment
что фильтрует (и не разрешает) CSS, настройте этот фильтр, сервлет, чтобы разрешить его   -  person jmj    schedule 28.08.2014
comment
@JigarJoshi Я настроил это с помощью http.authorizeRequests().antMatchers("/css/**", "/js/**", "/images/**").permitAll();, но это не работает.   -  person Junjie    schedule 28.08.2014
comment
@SotiriosDelimanolis Хорошо, попробую.   -  person Junjie    schedule 28.08.2014
comment
тогда, вероятно, он не фильтрует его, можете ли вы отлаживать http-запрос на всем пути от браузера до сервера, и каждая точка указывает на сервер   -  person jmj    schedule 28.08.2014
comment
@SotiriosDelimanolis Все файлы css и js получают ошибку типа GET http://localhost:8080/quiz1/css/global/icheck/demo/js/jquery.js 404 (Not Found) , но для первого контроллера (quizingA()) ошибки не произошло   -  person Junjie    schedule 28.08.2014
comment
@JigarJoshi Все файлы css и js получают ошибку типа GET http://localhost:8080/quiz1/css/global/icheck/demo/js/jquery.js 404 (Not Found) , но для первого контроллера (quizingA()) ошибки не было.   -  person Junjie    schedule 28.08.2014
comment
можете ли вы отлаживать http-запрос на всем пути от браузера до сервера, и каждый указывает на сервер   -  person jmj    schedule 28.08.2014
comment
Ваш css обычно находится в 1 месте, а не в 2… Я подозреваю, что ваши URL-адреса различаются и что вы используете неправильные URI для получения css. Я подозреваю, что вы используете относительные URI вместо абсолютных.   -  person M. Deinum    schedule 28.08.2014
comment
@M.Deinum, спасибо за комментарий, URI, которые я использую, - это относительный путь, следующий за [docs.spring.io/spring-boot/docs/1.0.1.RELEASE/reference/   -  person Junjie    schedule 28.08.2014
comment
@M.Deinum M.Deinum Кажется, я неправильно понимаю ваш смысл, когда я меняю его на абсолютные URI, в любом случае это работает, спасибо.   -  person Junjie    schedule 28.08.2014


Ответы (1)


Вы, вероятно, включаете свой css с относительным путем вместо абсолютного.

например,
если вы включаете вот так

<link type="text/css" href="css/bootstrap.css" rel="stylesheet"/>

Пути будут преобразованы в

/quiz0/css/bootstrap.css

а также

/quiz1/{course}/bootstrap.css

Я рекомендую использовать его с абсолютным путем

<link type="text/css" href="/css/bootstrap.css" rel="stylesheet"/>
person Sezin Karli    schedule 28.08.2014
comment
Отличная работа, она работает после того, как я изменил вид, как вы сказали. Спасибо за спасение моих усилий. - person Junjie; 28.08.2014