我无法使这一行工作在我的Spring Boot应用程序上,作为一个WAR部署在一个tomcat服务器上。
package com.incidenciasboard;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.incidenciasboard.bean.CambioIncidencia;
import com.incidenciasboard.bean.General;
import com.incidenciasboard.bean.Incidencia;
import com.incidenciasboard.dao.CambioIncidenciaDAO;
import com.incidenciasboard.dao.IncidenciaDAO;
import com.incidenciasboard.util.Ano;
import com.incidenciasboard.util.Dia;
import com.incidenciasboard.util.Log;
import com.incidenciasboard.util.Mes;
import com.incidenciasboard.util.ModelFecha;
import com.incidenciasboard.util.Semana;
@Controller
public class Stats {
@Autowired
private CambioIncidenciaDAO cambioDao;
@Autowired
private IncidenciaDAO dao;
@RequestMapping(value = "/login", method = RequestMethod.GET)
public String login( Model model) {
return "login";
}
@RequestMapping(value = "/", method = RequestMethod.GET)
public String statcas( Model model) {
Log.l();
return "redirect:/stats";
}
@RequestMapping(value = "/stats", method = RequestMethod.GET)
public String stats( Model model) {
Iterable<CambioIncidencia> cambios=cambioDao.findAll();
ModelFecha m=new ModelFecha(0,12,2015);
long total=0;
int cant=1;
//Promedio
for(CambioIncidencia c: cambios){
if(c.getDespues().equals("Open") && !c.getDespues().equals("Closed")){
long id=c.getTicketid();
for(CambioIncidencia cc: cambios){
long id2=cc.getTicketid();
if(id==id2 && cc.getDespues().equals("Closed")){
long cantDias=ModelFecha.diffDias(c.getFecha(), cc.getFecha());
cant++;
if(cantDias>0){
total+=cantDias;
}
}
}
}
}
List<Ano> fechas=m.getFechas();
//Cambios Mensuales
//Log.log("Cerrados");
for(CambioIncidencia i:cambios){
for(Ano ano:fechas){
General ga=ano.getGeneral();
for(Mes mes:ano.getMeses()){
General gm=mes.getGeneral();
for(Semana sem:mes.getSemanas()){
General gs=sem.getGeneral();
for(Dia dia:sem.getDias()){
General gd=dia.getGeneral();
List<General> ges=new ArrayList<General>();
ges.add(ga);
ges.add(gm);
ges.add(gd);
ges.add(gs);
if(ModelFecha.mismoDia(dia.getFecha(), i.getFecha())){
if(i.getEstado().equals("Open")){
for(General g:ges)g.sAbierto();
}else if(i.getEstado().equals("Closed")){
for(General g:ges)g.sCerrado();
for(General g:ges)g.setCaja(i.getPlata());
}else if(i.getEstado().equals("Critico")){
for(General g:ges)g.sCritico();
}else if(i.getEstado().equals("Listo p/Entregar")){
for(General g:ges)g.sLentregar();
}else if(i.getEstado().equals("Presupuesto Enviado")){
for(General g:ges)g.sPenviado();
}else if(i.getEstado().equals("Esperando Repuestos")){
for(General g:ges)g.sEsperando();
}else if(i.getEstado().equals("Cancelado")){
for(General g:ges)g.sCancelado();
}else if(i.getEstado().equals("In Progress")){
for(General g:ges)g.sProgreso();
}
}
}
}
}
}
}
General g=new General();
for(Incidencia i:dao.findAll()){
if(i.getEstado().equals("Open")){
g.sAbierto();
}else if(i.getEstado().equals("Closed")){
g.sCerrado();
}else if(i.getEstado().equals("Critico")){
g.sCritico();
}else if(i.getEstado().equals("Listo p/Entregar")){
g.sLentregar();
}else if(i.getEstado().equals("Presupuesto Enviado")){
g.sPenviado();
}else if(i.getEstado().equals("Esperando Repuestos")){
g.sEsperando();
}else if(i.getEstado().equals("Cancelado")){
g.sCancelado();
}else if(i.getEstado().equals("In Progress")){
g.sProgreso();
}
}
List<Mes> nubimedia = new ArrayList<Mes>();
for(Ano a:fechas){
for(Mes mm:a.getMeses()){
nubimedia.add(mm);
}
}
List<Mes> ult4=new ArrayList<Mes>();
ult4.add(nubimedia.get(nubimedia.size()-5));
ult4.add(nubimedia.get(nubimedia.size()-4));
ult4.add(nubimedia.get(nubimedia.size()-3));
ult4.add(nubimedia.get(nubimedia.size()-2));
model.addAttribute("quarter",ult4);
General mesactual=nubimedia.get(nubimedia.size()-1).getGeneral();
General mesanterior=nubimedia.get(nubimedia.size()-2).getGeneral();
General ayer=m.getAyer(fechas).getGeneral();
General hoy=m.getHoy(fechas).getGeneral();
model.addAttribute("hoy",hoy);
model.addAttribute("ayer",ayer);
model.addAttribute("mesactual",mesactual);
model.addAttribute("mesanterior",mesanterior);
model.addAttribute("prom",(total/cant));
model.addAttribute("g",g);
return "index";
}
}
我没有其他选项可以将根控制器(索引)发送到“/stats”。
我用的是“/..any thing..”它起作用了。但“/”不是。您可以看到我现在的重定向,当我使用嵌入式tomcat运行spring boot时,它可以工作,但当我将它部署为WAR时就不行了。
我还做了一个日志,但它甚至不打印。
@RequestMapping(value = "/", method = RequestMethod.GET)
public String statcas( Model model) {
Log.l();
return "redirect:/stats";
}
请救命!
编辑1:
应用程序名为Incendencia,所以在url中看起来是这样的:
主持人:8080/INCINDENCIA/
如果URL与此完全相同,它不会重定向到/stats...
要使用该应用程序,我必须将主机:8080/incidencia/stats
编辑2:属性文件spring Boot:
#REMOTO
spring.datasource.url = jdbc:mysql://...
spring.datasource.username = ...
spring.datasource.password = ...
spring.datasource.testWhileIdle = true
spring.datasource.validationQuery = SELECT 1
spring.jpa.show-sql = false
spring.jpa.hibernate.ddl-auto = update
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
#jsp
spring.mvc.view.suffix: .jsp
和POM文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.incidenciasboard</groupId>
<artifactId>incidenciasboard</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>IncidenciasBoard</name>
<description>incidenciasboard</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.7</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>19.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.11.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
我不确定下面的内容是否能满足您的需要,但您可以将其转换为JAR文件并运行,而不是将其作为WAR文件。这会奏效的
NGINX入口控制器不在Amazon EKS上工作 我使用eksctl在私有子网上创建了一个Amazon EKS集群。 我必须标记私有子网,否则无法创建负载均衡器 然后,我使用以下安装说明安装了NGINX入口控制器:https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-manifests/ 我使
嗨,我用spring初始化器创建了一个简单的Spring Boot应用程序。我在主应用程序类的同一文件夹中添加了一个控制器。 这是给我以下错误的网址http://localhost:8080/welcome 此应用程序没有针对/错误的显式映射,因此您将其视为回退。 Sat Dec 19 12:51:44 IST 2020出现意外错误(类型=未找到,状态=404)。 如果我使用@restContro
我真的很难理解JavaFX控制器,我的目标是写一个TextArea来充当日志。 我的代码在下面,但我希望能够改变值等从另一个类,我可以调用时需要。我试图创建一个扩展初始化的控制器类,但我无法使它工作。有谁能指引我正确的方向吗?
问题内容: 正在尝试在方法级别定义访问规则,但是它从未如此有效。 安全配置 ExampleController 每当我尝试使用user:user它访问/ v2 / home时,它执行得很好,是否由于“用户”没有访问权限而给我“拒绝访问”错误ROLE_ADMIN? 我实际上是在考虑在方法级别放弃访问规则并坚持使用http()ant规则,但是我必须知道为什么它对我不起作用。 问题答案: 在控制器上使用
我想允许一个域的跨源请求。我的项目使用Spring,所以我想利用新的CORS支持。 我遵循下面的示例https://spring.io/blog/2015/06/08/cors-support-in-spring-framework#disqus_thread并尝试了第一个版本。我的控制器注释如下所示: 如果我理解正确的话,mvc-config是一种替代方法。我也试过了: 对于这两种方法,响应似乎