小编Vir*_*ato的帖子

CSS和JavaScript文件在Maven Web应用程序项目中的位置是什么?

我正在切换使用Maven作为我的Spring Web应用程序项目,我遇到了一个简单的问题.我不确定将CSS和JS文件放在新项目结构中的位置.

传统的Web App结构

在传统的Java Web应用程序结构中(在Eclipse中,创建为动态Web项目)我将CSS,Javascript和Images文件放在以下结构中

WebContent
|__css/myStyles.css
|__js/myjs.js
|__images/myImage.gif
|__WEB-INF
Run Code Online (Sandbox Code Playgroud)

然后在我的jsp中,如果我想引用一个CSS文件,我做如下:

<link rel="stylesheet" href="<%=request.getContextPath()%>/css/myStyles.css">
Run Code Online (Sandbox Code Playgroud)

这很好用.

Maven Web App结构

在Maven项目中,我将css文件放在以下位置:

第一次尝试

在与WEB-INF相同级别的webapp文件夹下,就像在传统的动态Web项目中一样.但是当我做以下事情时

mvn clean tomcat:run
Run Code Online (Sandbox Code Playgroud)

我从Spring Framework中收到以下错误:

org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/appname/css/myStyles.css] in DispatcherServlet
Run Code Online (Sandbox Code Playgroud)

第二次尝试

将我的css文件夹放在src/main/resources下但是当我执行以下操作时:

mvn clean tomcat:run
Run Code Online (Sandbox Code Playgroud)

我从Spring Framework中收到以下错误:

org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/appname/css/myStyles.css] in DispatcherServlet
Run Code Online (Sandbox Code Playgroud)

第三次尝试

放置我的css文件夹src/main/resources

结果:与上述相同

我确信它很简单,但我被卡住了,也许我忽略了一些东西.提前致谢

更新:添加pom.xml以查看它是否可以帮助解决问题:

<?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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion> …
Run Code Online (Sandbox Code Playgroud)

css pom.xml maven

47
推荐指数
2
解决办法
8万
查看次数

如何在SpringBatch中的ItemReader之后处理逻辑上相关的行?

脚本

为简单起见,假设我有一个ItemReader,它返回25行.

  1. 前10行属于学生A.

  2. 接下来的5个属于学生B.

  3. 剩下的10个属于学生C.

我想通过studentId合理地将它们聚合在一起并将它们展平,最终每个学生一行.

问题

如果我理解正确,将提交间隔设置为5将执行以下操作:

  1. 向处理器发送5行(将汇总它们或执行我告诉它的任何业务逻辑).
  2. 在Processed之后将写入5行.
  3. 然后它将在接下来的5行中再次执行它,依此类推.

如果这是真的,那么对于接下来的五个,我将不得不检查已经写好的那些,将它们聚合到我正在处理的那些并再次写入它们.

我个人不这样做.

  1. 在Spring Batch中处理这种情况的最佳实践是什么?

替代

有时我觉得编写一个常规的Spring JDBC主程序要容易得多,然后我就可以完全控制自己想要做的事情了.但是,我想利用作业存储库状态监视作业,重启,跳过,作业和步骤监听器的能力....

我的春季批次代码

我的module-context.xml

   <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:batch="http://www.springframework.org/schema/batch"
    xsi:schemaLocation="http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch-2.1.xsd
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <description>Example job to get you started. It provides a skeleton for a typical batch application.</description>

    <batch:job id="job1">
        <batch:step id="step1"  >           
            <batch:tasklet transaction-manager="transactionManager" start-limit="100" >             
                 <batch:chunk reader="attendanceItemReader"
                              processor="attendanceProcessor" 
                              writer="attendanceItemWriter" 
                              commit-interval="10" 
                 />

            </batch:tasklet>
        </batch:step>
    </batch:job> 

    <bean id="attendanceItemReader" class="org.springframework.batch.item.database.JdbcCursorItemReader"> 
        <property name="dataSource">
            <ref bean="sourceDataSource"/>
        </property> 
        <property name="sql"                                                    
                  value="select s.student_name …
Run Code Online (Sandbox Code Playgroud)

spring-batch

18
推荐指数
2
解决办法
2万
查看次数

需要了解spring.handlers和spring.schemas

我有一些问题来自我已经通过另一个问题解决的问题.但是,我仍然想知道根本原因.我的问题如下:

  1. spring.handlersspring.schemas的目的是什么?

据我所知,这是一种告诉Spring Framework在哪里找到xsd以便所有内容都正确连线和加载的方法.但...

  1. 在什么情况下我应该在META-INF文件夹下有这两个文件?

  2. 在我上面链接的另一个问题中,是否有人知道为什么我必须maven-shade-plugin在META-INF下添加创建这两个文件(基于我所有的依赖项)?换句话说,导致我必须使用maven shade插件的根本原因是什么?

spring xsd uri spring-batch spring-3

17
推荐指数
1
解决办法
2万
查看次数

类[]的方法在Grails应用程序之外使用.如果在测试的上下文中使用模拟API或正确引导Grails运行

问题

我知道已经有一个问题,但我认为导致的问题可能因他们所说的而有所不同.我有以下设置:

  1. grails版本: 2.3.4
  2. Hibernate插件:运行时":hibernate:3.6.10.6"
  3. 我的Bootstrap是空的
  4. 我的控制器和服务测试被评论

这个grails应用程序有多个数据源(我不确定这个事实是否与它有任何关系)并且它发生在从第二个数据源调用Domain对象之后,该数据源已经使用grails反向工程插件进行了反向设计(已完成)在一个单独的项目上,然后导入到我的项目.

这是导致Controller层和服务层出现问题的GORM调用

def campusAttributes = CampusAttribute.findAllByNameLike("%Next Option%")
Run Code Online (Sandbox Code Playgroud)

我发现了一些其他的抱怨,这似乎是Maven和grails hibernate插件版本的一个问题,但在那种情况下,问题是grails 2.3.1和特定的hibernate插件版本非常特别.

我所做的只是一个grails run-app(没有用maven构建应用程序也没有任何嘲弄)

提前致谢

grails-orm grails-plugin grails-domain-class grails-2.0

14
推荐指数
1
解决办法
9514
查看次数

无法从 Windows 生成在 WSL 2 上运行的 Kafka 主题

我正在 Ubuntu WSL2 上成功运行最新的 Kafka。我可以在 WSL 上运行的 Ubuntu 中很好地启动 Zookeeper、kafka 服务器、创建主题、控制台生成和控制台消费。但是,当我进入 Windows 上的 Intellij 并创建一个简单的 Java Producer 时,它似乎无法连接到代理

版本和主机名

    Java version: 1.8
    Kafka Version: 2.6
    hostname (from Ubuntu): KDAAPPDEV04
    hostname (from Powershell): KDAAPPDEV04
    java.net.InetAddress.getLocalHost().getHostName() = KDAAPPDEV04
    java.net.InetAddress.getLocalHost().getCanonicalHostName() = KDAAPPDEV04
    netstat from CMD:
        TCP    [::1]:9092             [::]:0                 LISTENING
Run Code Online (Sandbox Code Playgroud)

server.properties 我在另一个答案中找到了这个设置,但这些对我不起作用。

advertised.listeners=PLAINTEXT://127.0.0.1:9092
listener.security.protocol.map=PLAINTEXT:PLAINTEXT
listeners=PLAINTEXT://0.0.0.0:9092
Run Code Online (Sandbox Code Playgroud)

然后尝试(并重新启动zookeeper和kafka)

advertised.listeners=PLAINTEXT://KDAAPPDEV04:9092
listener.security.protocol.map=PLAINTEXT:PLAINTEXT
listeners=PLAINTEXT://0.0.0.0:9092
Run Code Online (Sandbox Code Playgroud)

制片人

我使用三个不同的值运行这个生产者:主机名、本地主机和 127.0.0.1,但它从未连接到代理

    public class ProducerDemo{

    private static Logger logger = LoggerFactory.getLogger(ProducerDemo.class);

    public static void main(String[] args) throws UnknownHostException{

        System.out.println(InetAddress.getLocalHost().getHostName());
        System.out.println(InetAddress.getLocalHost().getCanonicalHostName());

        String bootstrapServers = "127.0.0.1:9092"; …
Run Code Online (Sandbox Code Playgroud)

java apache-kafka kafka-producer-api windows-subsystem-for-linux wsl-2

13
推荐指数
3
解决办法
8981
查看次数

无法找到XML架构命名空间的Spring NamespaceHandler [http://www.springframework.org/schema/batch]

情况

我正在使用Spring Batch为我们的数据仓库构建累积快照,我遇到了一个我无法弄清楚的配置障碍.

我使用Spring模板项目使用STS(SpringSource Tool Suite 2.8.1)创建了一个简单的Spring Batch 项目.这些是我创建的两个xml配置文件:

发射后的context.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:batch="http://www.springframework.org/schema/batch"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xsi:schemaLocation="
    http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch-2.1.xsd
    http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">

<context:property-placeholder location="classpath:batch.properties" />

<context:component-scan base-package="edu.kdc.visioncards" />

<jdbc:initialize-database data-source="dataSource">
    <jdbc:script location="${batch.schema.script}" />
</jdbc:initialize-database>

<batch:job-repository id="jobRepository" />

<import resource="classpath:/META-INF/spring/module-context.xml" />
Run Code Online (Sandbox Code Playgroud)

module-context.xml

 <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:batch="http://www.springframework.org/schema/batch"
xsi:schemaLocation="http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch-2.1.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

<description>Example job to get you started. It provides a skeleton for a typical batch application.</description>

<batch:job id="job1">
    <batch:step …
Run Code Online (Sandbox Code Playgroud)

spring spring-batch

12
推荐指数
1
解决办法
4万
查看次数

如何告诉intelliJ IDEA在grails应用程序中刷新我的类和资源?

设置: 我在IntelliJ Idea中有一个grails项目.我通过单击顶部的"播放"按钮来运行应用程序,其中我使用默认的grails运行命令"run-app"进行grails配置.一切都很好.

问题: 当我对gsp,controller,css,js或任何其他文件进行更改时如果单击浏览器上的刷新(Control + F5),则不会反映更改.我必须停止/重启.这让我慢下来.

我做了什么:

  1. 我还试图设置一个Tomcat配置并运行它作为一个Web存档爆炸但它仍然不适用于grails应用程序.但是,它确实适用于我的其他Spring/Hibernate Web应用程序.
  2. 我也尝试过STS IDE,并且在进行更改时,类和资源得到了更新.

有谁知道如何告诉Grails应用程序的IntelliJ IDEA更新类和资源?

grails intellij-idea

8
推荐指数
1
解决办法
8632
查看次数

如何将数据库连接信息和查询参数从控制器传递到JasperReportsMultiFormatView

我正在使用带有JasperReports的Spring MVC 3.0对Web应用程序进行原型设计.我已经使用Spring + Jfreechart + iText + Apache POI完成了报告应用程序,并且能够成功使用Spring提供的各个视图类来传输pdf,xls和图像.

这次我想尝试使用JasperReports,以便我可以在应用程序之外设计我的pdf,而不必担心知道底层api(是jfreechart,itext或poi).

问题

我有一个report1.jrxml文件,其中包含一个queryString标记,其中包含带有两个日期参数的查询.当我通过iReport测试报告时,它会编译并成功运行.这里没问题.

现在我正在阅读以下Spring文档中的JasperReports部分http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/htmlsingle/spring-framework-reference.html#view-jasper-报告 ,我试图让JasperReportsMultiFormatView正常工作,但有一件我不理解:

  1. JasperReportMultiFormatView如何知道要连接的数据库(回想一下,我在报告中嵌入了查询)?

  2. 文档声明在视图中使用reportDataKey属性,但我不知道这是如何解决我的问题.

  3. 你如何传递参数?

可以做些什么

JaperReports提供了一组xxxManager对象,负责编译,过滤和导出报告.您可以创建一个实现Spring View接口的自定义类,并执行以下操作:

Connection connection;
ServletOutputStream servletOutputStream = response .getOutputStream();
InputStream reportStream = getServlet().getServletConfig().getServletContext().getResourceAsStream("/reports/report1.jasper");
response.setContentType("application/pdf");
Class.forName("com.mysql.jdbc.Driver");
 connection = DriverManager.getConnection("jdbc:mysql://localhost: 
             3306/flightstats?user=user&password=secret");
JasperRunManager.runReportToPdfStream(reportStream,  
                 servletOutputStream, new HashMap(), connection);
connection.close();
servletOutputStream.flush();
servletOutputStream.close();
Run Code Online (Sandbox Code Playgroud)

我需要的

我需要完成上面那些利用Spring类的代码,比如JasperReportsPdfView,JasperReportsXlsView,甚至更好的JasperReportsMultiFormatView

总而言之,我需要能够将以下内容从我的控制器传递给jasper报告:

  1. 参数
  2. Db连接信息,以便jasper中的queryString知道对谁运行

这是我所拥有的,输出是一个空白的PDF文档,我假设因为它不知道如何运行查询

@RequestMapping("/reports/**")
@Controller

public class ReportsController {

@RequestMapping(value ="/reports/usage/report", method = RequestMethod.GET)
public ModelAndView handleSimpleReportMulti(HttpServletRequest request, HttpServletResponse response) throws Exception {

    System.out.println("Made it here");

    Map model …
Run Code Online (Sandbox Code Playgroud)

spring-mvc jasper-reports

6
推荐指数
1
解决办法
8975
查看次数

如何在JPA 2.0项目中加载Hibernate'xxxx.hbm.cfg'文件?

我刚刚开始使用Hibernate作为JPA2.0提供程序的Spring Roo应用程序.我使用的罐子如下:

休眠核心,3.6.4.Final.jar

休眠公地的注解 - 3.2.0.jar

休眠-的EntityManager,3.6.4.Final.jar

冬眠-JPA-2.0-API-1.0.0.Final.jar

休眠 - 验证 - 4.1.0.Final.jar

我正在使用Annotations来处理应用程序的事务方面,没有问题.

但是应用程序的其他部分需要非常复杂的查询,之前我在Hibernate中处理它的方式是创建一个映射文件,例如(mybigdwquery.hbm.xml),我将指定我的查询及其映射对象, POJO.不是@Entity.这很好用.

但是,通过我之前发布的另一个问题,我发现在JPA 2.0中你不能将查询映射到POJO,所有内容都必须映射到@Entity(db表没有?).

所以我的问题如下:

有没有办法可以将我的'mybigdwquery.hbm.xml'文件作为hbm.xml加载到我的persistence.xml中,以便我可以调用命名查询?

我的persistence.xml如下:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="persistenceUnit" transaction-type="RESOURCE_LOCAL">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>             
        <properties>
            <!-- <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/> -->
            <!-- value="create" to build a new database on each run; value="update" to modify an existing database; value="create-drop" means the same as "create" but also drops tables when Hibernate closes; value="validate" makes no changes to the database --> …
Run Code Online (Sandbox Code Playgroud)

hibernate named-query jpa-2.0

5
推荐指数
1
解决办法
8724
查看次数

如何根据SQL输入中的列在Talend中创建多个输出文件

我需要根据Talend Open Studio中sql输入的值(列)创建多个输出文件.

我的tMSSQLInput返回大约50,000行,其中一列是building_name

建筑物B楼C楼....

因此,具有值"Building A"的所有行都应位于名为"buildingA.xls"的excel文件中,所有具有"Building B"的行应位于名为"buildingB.xls"的excel文件中,依此类推.

我一直在尝试使用tLoop或tForEach以及tIterateToFlow,但我不确定我是否知道如何实现它.

提前致谢.

etl talend

5
推荐指数
1
解决办法
2万
查看次数

无法访问Sonar MySQL数据库引起:java.sql.SQLException:用户'sonar'@'glassfishdev.ccs.local'拒绝访问(使用密码:YES)

我正在尝试将Sonar添加到我的持续集成构建系统中.我使用ANT作为我的构建脚本,我使用sonar-ant-task-1.1.jar为声纳根据我在SVN中的源代码生成报告.

问题 当构建运行并命中声纳ant任务时,我得到如下异常:

Caused by: java.sql.SQLException: Access denied for user 'sonar'@'glassfishdev.ccs.local' (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1075)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3566)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3498)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:919)
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4004)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1284)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2312)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2122)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:774)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:49)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:375)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:289)
at org.sonar.jpa.session.DriverProxy.connect(DriverDatabaseConnector.java:160)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at org.sonar.jpa.session.DriverDatabaseConnector.getConnection(DriverDatabaseConnector.java:95)
at org.sonar.jpa.session.AbstractDatabaseConnector.testConnection(AbstractDatabaseConnector.java:185)
... 40 more
Run Code Online (Sandbox Code Playgroud)

我做了什么

1.安装MySQL数据库.

2.使用声纳安装中提供的脚本创建声纳数据库,声纳用户和授予权限

**CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;    
CREATE USER 'sonar' IDENTIFIED BY …
Run Code Online (Sandbox Code Playgroud)

mysql ant hudson jenkins sonarqube

2
推荐指数
1
解决办法
7629
查看次数

如何将LDAP用户与Grails中Spring Security创建的PERSON表集成?

我们正在创建一个grails aplication,我们希望用户使用他们的Active Directory凭据登录.此外,我们希望为此应用程序的业务所有者提供控制谁可以访问某些链接(操作)的能力.因此我们在grails应用程序中使用以下插件:

  1. Spring安全核心
  2. Spring Security LDAP
  3. Spring Security UI

因为我们希望授权业务用户在必要时动态创建具有特定权限(操作)的自定义角色,我们认为最好的Spring Security配置是基于Requestmap数据库的方法

到目前为止,我们已完成如下:

  • 我们能够成功地对Active Directory进行身份验证.
  • 我们还可以通过spring-security-ui插件的UI界面为不同的角色(ROLE_XXX)创建不同的请求映射

问题/问题

spring-security-core插件创建了以下表:

  • 权威
  • PERSON_AUTHORITY
  • REQUESTMAP

这些是支持角色创建的表,即角色的URL分配.但是,Person_Authoritity表作为约定名称意味着它是PERSON和AUTHORITY(ROLE)之间的多对多关系,因为一个人可能有多个角色.我的问题是我没有Person,因为该人已存在于Active Directory(外部源)中,并且未在应用程序中创建.

有没有办法让经过身份验证的用户成为PERSON?Spring安全解决方案需要Person行或对象,但您更喜欢引用它.

我也在这里发布了这个问题:

http://grails.1312388.n4.nabble.com/Issues-integrating-LDAP-Authentication-with-Requestmap-to-Secure-URLs-td4644040.html

谢谢,

grails spring-security spring-ldap grails-plugin spring-security-ldap

1
推荐指数
1
解决办法
3926
查看次数

如何将代码从功能分支推送/合并到git中的另一个集成分支?

我有以下设置策略,用于向公共uat环境(集成)发布多个功能.一旦完成了一个功能,我最终想要将该功能,只有该功能的内容合并到发布分支中,然后最终合并到主分支中.

 origin/master
      |__origin/release
      |__origin/integration
      |__origin/featureOne
      |__origin/featureTwo
Run Code Online (Sandbox Code Playgroud)

我的问题是如何将本地分支featureOne的内容合并到远程分支origin/integration中

这就是我目前正在做的事情:

  1. git clone http://mygitServer/myGroupName/myApp.git
  2. git checkout featureOne
  3. 执行一些代码更改
  4. git add fileName
  5. git commit --message 'Comment for my code change'
  6. git push

最后一个git命令push将我本地分支中的新代码从本地存储库推送到我们的gitlab远程服务器.具体到origin/featureOne

  1. 什么是将我的local/featureOne合并到origin/integration分支的git命令?

  2. 或者将origin/featureOne合并到origin/integration中会更有意义吗?那个git命令会是什么?

谢谢.

git merge branch git-branch gitlab

0
推荐指数
1
解决办法
905
查看次数