Я пытался заставить этот код работать. Я только что начал с Spring MVC (и я относительно не знаком с веб-разработчиком - мой фон - графический интерфейс/наука), но я думаю, что ошибка может быть вызвана, потому что проблема связана с jQuery-кодом в моем jsp с Spring контроллер. Я буквально пытаюсь заставить это работать в течение нескольких дней без успеха, и я пробовал все предложения, сделанные плакатами на этом форуме, с аналогичной проблемой - безрезультатно. Поэтому я очень ценю ваш вклад. Проект разрабатывается с использованием Netbeans, Tomcat 8, Maven, Spring MVC и JQuery.Сообщение Ajax для Spring MVC-контроллера приводит к ошибке «Запрошенный ресурс недоступен»
projectDashboard.jsp (в WEB-INF/просмотров):
<div class="col-lg-8 col-md-8 col-sm-8">
<div id="projectForm">
<div class="form-group">
<input id="name" name="name" type="text" class="form-control" placeholder="Project name (50 characters or less)"/>
<textarea id="description" name="description" class="form-control" placeholder="Project Description (200 characters or less)"></textarea>
</div>
<div class="form-group">
<input class="btn btn-primary pull-right" id="createProjectButton" value="Create" type="button"/>
</div>
</div>
</div>
JQuery:
<script>
$(document).ready(function(){
$("#createProjectButton").on("click", function(){
var projectJson = {
"name":$("#name").val(),
"description":$("#description").val()
};
$.ajax({
type: "POST",
url: "/ProgressManagerOnline/projectDashboard",
data: JSON.stringify(projectJson),
contentType: "application/json; charset=utf-8",
dataType: "json"
});
});
});
</script>
ProjectDashboard.java (Spring MVC класс контроллера в SRC/основной/Java):
@RequestMapping(value = "/projectDashboard", method = RequestMethod.POST)
public String saveProject(@RequestBody Project project) throws Exception {
return "OK";
}
Релевантный код в appconfig-mvc.xml:
<mvc:annotation-driven/>
<mvc:view-controller path="/" view-name="login"/> //home web page - login.jsp
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/views/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
Maven pom.xml включает в себя:
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.8.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.5</version>
</dependency>
Tomcat context.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/ProgressManagerOnline"/>
Ошибка в Firefox веб-консоли:
The requested resource is not available. (404 error)
Мой Project.java:
@Entity
@Table(name = "projects")
public class Project implements Serializable {
private Long id;
private String name;
private String description;
private java.util.Date dateCreated;
public Project(){};
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
public Long getId() {
return id;
}
public void setId(Long id){
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
@Column(name = "dateCreated", columnDefinition="DATETIME")
@Temporal(TemporalType.TIMESTAMP)
public Date getDateCreated() {
return dateCreated;
}
public void setDateCreated(Date dateCreated) {
this.dateCreated = dateCreated;
}
}
Я был в этом уже несколько дней и пробовал все предложения, размещенные на этом форуме, и другие.
Большое спасибо заранее всем, кто может помочь.
Каков ваш полный URL? Это должно быть/ProgressManagerOnline/projectDashboard – ScanQR
Да ... Я пробовал это - я до сих пор получаю ошибку, к сожалению. – Rufus
Я изменил свой код, чтобы отразить предложенные вами изменения. – Rufus