我正在切换使用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) 为简单起见,假设我有一个ItemReader,它返回25行.
前10行属于学生A.
接下来的5个属于学生B.
剩下的10个属于学生C.
我想通过studentId合理地将它们聚合在一起并将它们展平,最终每个学生一行.
如果我理解正确,将提交间隔设置为5将执行以下操作:
如果这是真的,那么对于接下来的五个,我将不得不检查已经写好的那些,将它们聚合到我正在处理的那些并再次写入它们.
我个人不这样做.
有时我觉得编写一个常规的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) 我知道已经有一个问题,但我认为导致的问题可能因他们所说的而有所不同.我有以下设置:
这个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构建应用程序也没有任何嘲弄)
提前致谢
我正在 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
我正在使用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) 设置: 我在IntelliJ Idea中有一个grails项目.我通过单击顶部的"播放"按钮来运行应用程序,其中我使用默认的grails运行命令"run-app"进行grails配置.一切都很好.
问题: 当我对gsp,controller,css,js或任何其他文件进行更改时如果单击浏览器上的刷新(Control + F5),则不会反映更改.我必须停止/重启.这让我慢下来.
我做了什么:
有谁知道如何告诉Grails应用程序的IntelliJ IDEA更新类和资源?
我正在使用带有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正常工作,但有一件我不理解:
JasperReportMultiFormatView如何知道要连接的数据库(回想一下,我在报告中嵌入了查询)?
文档声明在视图中使用reportDataKey属性,但我不知道这是如何解决我的问题.
你如何传递参数?
可以做些什么
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报告:
这是我所拥有的,输出是一个空白的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) 我刚刚开始使用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) 我需要根据Talend Open Studio中sql输入的值(列)创建多个输出文件.
我的tMSSQLInput返回大约50,000行,其中一列是building_name
建筑物B楼C楼....
因此,具有值"Building A"的所有行都应位于名为"buildingA.xls"的excel文件中,所有具有"Building B"的行应位于名为"buildingB.xls"的excel文件中,依此类推.
我一直在尝试使用tLoop或tForEach以及tIterateToFlow,但我不确定我是否知道如何实现它.
提前致谢.
我正在尝试将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) 我们正在创建一个grails aplication,我们希望用户使用他们的Active Directory凭据登录.此外,我们希望为此应用程序的业务所有者提供控制谁可以访问某些链接(操作)的能力.因此我们在grails应用程序中使用以下插件:
因为我们希望授权业务用户在必要时动态创建具有特定权限(操作)的自定义角色,我们认为最好的Spring Security配置是基于Requestmap数据库的方法
到目前为止,我们已完成如下:
问题/问题
spring-security-core插件创建了以下表:
这些是支持角色创建的表,即角色的URL分配.但是,Person_Authoritity表作为约定名称意味着它是PERSON和AUTHORITY(ROLE)之间的多对多关系,因为一个人可能有多个角色.我的问题是我没有Person,因为该人已存在于Active Directory(外部源)中,并且未在应用程序中创建.
有没有办法让经过身份验证的用户成为PERSON?Spring安全解决方案需要Person行或对象,但您更喜欢引用它.
我也在这里发布了这个问题:
谢谢,
grails spring-security spring-ldap grails-plugin spring-security-ldap
我有以下设置策略,用于向公共uat环境(集成)发布多个功能.一旦完成了一个功能,我最终想要将该功能,只有该功能的内容合并到发布分支中,然后最终合并到主分支中.
origin/master
|__origin/release
|__origin/integration
|__origin/featureOne
|__origin/featureTwo
Run Code Online (Sandbox Code Playgroud)
我的问题是如何将本地分支featureOne的内容合并到远程分支origin/integration中?
这就是我目前正在做的事情:
http://mygitServer/myGroupName/myApp.gitgit checkout featureOnegit add fileNamegit commit --message 'Comment for my code change'git push最后一个git命令push将我本地分支中的新代码从本地存储库推送到我们的gitlab远程服务器.具体到origin/featureOne
什么是将我的local/featureOne合并到origin/integration分支的git命令?
或者将origin/featureOne合并到origin/integration中会更有意义吗?那个git命令会是什么?
谢谢.
spring-batch ×3
grails ×2
spring ×2
ant ×1
apache-kafka ×1
branch ×1
css ×1
etl ×1
git ×1
git-branch ×1
gitlab ×1
grails-2.0 ×1
grails-orm ×1
hibernate ×1
hudson ×1
java ×1
jenkins ×1
jpa-2.0 ×1
maven ×1
merge ×1
mysql ×1
named-query ×1
pom.xml ×1
sonarqube ×1
spring-3 ×1
spring-ldap ×1
spring-mvc ×1
talend ×1
uri ×1
windows-subsystem-for-linux ×1
wsl-2 ×1
xsd ×1