Wednesday 15 June 2011

java - how to tell spring to load resources from custom directory with maven multi-module springboot -



java - how to tell spring to load resources from custom directory with maven multi-module springboot -

i tried build maven multi-module web project:

project a, project b, ...

b dependent on a

run project b, console shown /hello mapped, hello.jsp not found when check localhost:8080/hello

here questions:

how did utilize hello.jsp(resources in a)while running project b?

how tell spring load resources directory src/main/resources/?

structure a/b

a/b |_src | |_main | | |_java | | | |_com.x | | | | |_astarter.java/bstarter.java | | | |_com.x.domain | | | |_com.x.services | | | |_com.x.web | | | |_hellocontroller.java/foocontroller.java | | |_resources | | |_application.properties | | |_templates | | |_hello.jsp | |_test | |_java | |_resources |_pom.xml

(a)pom.xml simple spring-boot file. (b)pom.xml similar (a)pom.xml add together dependency:

<dependency> <groupid>x</groupid> <artifactid>a</artifactid> <version>0.0.1-snapshot</version> </dependency>

application.properties: spring.view.suffix: .jsp

update

starters:

@configuration @enableautoconfiguration @componentscan public class astarter extends springbootservletinitializer { @override protected springapplicationbuilder configure( springapplicationbuilder application) { homecoming application.sources(astarter.class); } public static void run(class<? extends astarter> c, string[] args) { springapplication.run(c, args); } public static void main(string[] args) throws exception { run(astarter.class, args); } } @configuration @enableautoconfiguration @componentscan public class bstarter extends astarter { public static void main(string[] args) { astarter.run(bstarter.class, args); } }

controllers:

@controller public class hellocontroller { private string message = "hello world"; @requestmapping("/hello") public string welcome(map<string, object> model) { model.put("time", new date()); model.put("message", this.message); homecoming "hello"; } } @controller public class foocontroller { @requestmapping("/foo") public string foo(map<string, object> model) { model.put("foo", "foo!"); homecoming "foo"; } }

console:

--- {main] s.w.s.m.m.a.requestmappinghandlermapping : mapped "{[/foo],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.string com.x.foocontroller.foo(java.util.map<java.lang.string, java.lang.object>) --- [main] s.w.s.m.m.a.requestmappinghandlermapping : mapped "{[/hello],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.string com.x.web.hellocontroller.welcome(java.util.map<java.lang.string, java.lang.object>) --- [main] s.w.s.m.m.a.requestmappinghandlermapping : mapped "{[/error],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public org.springframework.http.responseentity<java.util.map<java.lang.string, java.lang.object>> org.springframework.boot.autoconfigure.web.basicerrorcontroller.error(javax.servlet.http.httpservletrequest) --- [main] s.w.s.m.m.a.requestmappinghandlermapping : mapped "{[/error],methods=[],params=[],headers=[],consumes=[],produces=[text/html],custom=[]}" onto public org.springframework.web.servlet.modelandview org.springframework.boot.autoconfigure.web.basicerrorcontroller.errorhtml(javax.servlet.http.httpservletrequest)

when check localhoust:8080/hello, error came out

thanks in advance!

don't utilize web-inf spring applications; it's been fragile, , spring can in jars on classpath. set files in src/main/resources/templates , don't specify spring.view.prefix.

java maven spring-boot

No comments:

Post a Comment