Я все еще новичок в Angular, и что я пытаюсь сделать, это создать угловой контроллер в отдельном файле js и сопоставить его с моим файлом jsp. Проблема в том, что я не могу получить угловую работу. Хотя он работает отлично, если я включаю скрипт контроллера в сам файл jsp. Как-то сервер не может найти эти файлы сценариев, и он выдает ошибку 404. Тем не менее я правильно указываю пути файлов, по-моему.JS-файл имеет неправильный тип при запуске на сервере (AngularJS)
Вот скриншот:
И это мой home.jsp:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html ng-app="vApp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Home</title>
<script type="application/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="application/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.27/angular.min.js"></script>
<script type="text/javascript" src="WEB-INF/angular/app.js"></script>
<script type="text/javascript" src="WEB-INF/angular/UsersController.js"></script>
</head>
<body >
<h1>Hello World!</h1>
<p>This is the homepage!</p>
<div ng-controller="Hello as first">
<h1>Supposed to be cool</h1>
<p>The ID is {{first.id}}</p>
<input type="text" ng-model="first.content">
<p>The content is {{first.content}}</p>
</div>
</body>
Может этот тип штуковина быть проблема? если нет, то почему невозможно найти эти файлы?
Thanx заранее.
РЕДАКТИРОВАТЬ Сервер коды стороны: диспетчер-сервлет:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
<context:component-scan base-package="vermilion.calendar.controller" />
<context:component-scan base-package="vermilion.calendar.model" />
<context:component-scan base-package="vermilion.calendar.service" />
<context:component-scan base-package="vermilion.calendar.dao" />
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="resources/jdbc.properties"/>
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/"/>
<property name="suffix" value=".jsp"/>
</bean>
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" p:dataSource-ref="dataSource">
<property name="hibernateProperties">
<props>
<prop key="sessionFactory.hibernateProperties">${hibernate.dialect}</prop>
<prop key="hibernate.transaction.factory_class">${hibernate.transaction.factory_class}</prop>
</props>
</property>
</bean>
HomeController:
package vermilion.calendar.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import vermilion.calendar.service.UserService;
@RestController
@RequestMapping("/")
public class HomeController {
@Qualifier("userService")
@Autowired
public UserService userService;
@RequestMapping(method = RequestMethod.GET)
public String printWelcome(ModelMap model) {
model.addAttribute("message", "Spring 3 MVC Hello World");
//return "login";
return "home";
}
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String listUsers() {
return "home";
}
}
структура проекта:
Вы получаете ответ 404, который, скорее всего, возвращает HTML-документ, сообщающий вам, что (вы можете видеть на этой сетевой вкладке «Ответ» - «404 не найден»).Ваша проблема связана с сервером и не имеет никакого отношения к Javascript ... будь то изображение, файл javascript и т. Д., Этот файл не будет использоваться с этого пути. – rgthree
Какой веб-сервер вы используете? Он отправляет ваши JS-файлы с типом text/html MIME вместо приложения/javascript. –
Как и @rgthree, тип 'html' - это тип вашей страницы 404, поэтому проблема связана с вашим путем. 'WEB-INF/angular/app.js' указывает на неправильное место. – AlienWebguy