我已经使用注释配置了Spring Boot。我有以下文件:1)用于配置spring boot的AppStarter类
@Configuration
@EnableAutoConfiguration
@PropertySource(value = "classpath:app.properties", ignoreResourceNotFound = true)
@ComponentScan(basePackages = "com.sample.config")
public class AppStarter extends SpringBootServletInitializer{ @Value("${server.contextPath}")
private String contextPath;
@Value("${server.port:8080}")
private String port;
@Bean
public static PropertySourcesPlaceholderConfigurer propertyPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
@Bean
public EmbeddedServletContainerFactory servletContainer() {
TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();
factory.setPort(Integer.valueOf(port));
factory.setContextPath(contextPath);
factory.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/notfound.html"));
return factory;
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(AppStarter.class);
}
public static void main(String[] args) {
SpringApplication.run(AppStarter.class, args);
}
}
2) WebConfig类
@Configuration
@ComponentScan(basePackages = {"com.sample.rest"})
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter
{
@Bean
public static PropertySourcesPlaceholderConfigurer properties()
{
PropertySourcesPlaceholderConfigurer configurer = new PropertySourcesPlaceholderConfigurer();
Resource[] resources = new ClassPathResource[]{new ClassPathResource("app.properties")};
configurer.setLocations(resources);
configurer.setIgnoreUnresolvablePlaceholders(true);
return configurer;
}
@Bean
public InternalResourceViewResolver viewResolver()
{
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setPrefix("/WEB-INF/pages/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
}
3)app.properties
core_pool_size = 100
max_pool_size = 600
queue_capacity = 160
server.port=8080
spring.view.prefix: /WEB-INF/pages/
spring.view.suffix: .jsp
4) UserController类
@Controller
public class UserController extends AbstractController {
@RequestMapping(value = "/user/add")
public String user()
{
return "adduser";
}
}
5)pom.xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>1.2.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>1.2.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
<version>1.2.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.hateoas</groupId>
<artifactId>spring-hateoas</artifactId>
<version>0.16.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-messaging</artifactId>
</dependency>
<dependency>
<groupId>net.sf.dozer</groupId>
<artifactId>dozer</artifactId>
<version>5.5.1</version>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
<exclusion>
<artifactId>org.slf4j</artifactId>
<groupId>slf4j-log4j12</groupId>
</exclusion>
<exclusion>
<artifactId>log4j</artifactId>
<groupId>log4j</groupId>
</exclusion>
</exclusions>
</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>
<scope>provided</scope>
</dependency>
<!--Spring boot test-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>1.2.0.RELEASE</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-jpamodelgen</artifactId>
<version>4.3.7.Final</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql-connector-java.version}</version>
<scope>runtime</scope>
</dependency>
</dependencies>
6) 添加用户。jsp,位于webapp/WEB_INF/pages文件夹中
当我试图通过localhost:8080/sample/user/add访问我的jsp时,我得到:< br >
org.springframework.web.servlet.PageNotFound |在 DispatcherServlet 中找不到名称为“dispatcherServlet”的 HTTP 请求的映射,其中包含 URI [/sample/WEB-INF/pages/adduser.jsp]
有人能在这个问题上提供任何帮助吗?
看起来您已经配置了一个嵌入式Tomcat容器。嵌入Tomcat时不支持JSP页面。http://docs . spring . io/spring-boot/docs/1 . 2 . 1 . release/reference/html single/# boot-features-JSP-limits
要使用localhost:8080/samples/user/add,您需要将控制器代码更改为此,
@Controller
@RequestMapping("/samples")
public class UserController extends AbstractController {
@RequestMapping(value = "/user/add")
public String user()
{
return "adduser";
}
}
spring.view.prefix:/WEB-INF/jsp/
网络应用程序/WEB_INF/页面
/jsp
vs,/页面
您需要更改其中一个,以便它们匹配!
第二:您需要请求url(这是写在您的控制器,但不是jsp的路径!
所以使用: 本地主机:8080/
字符串不能解析为类型
我有一个与cassandra连接的springboot应用程序。我试图在地图中创建地图,但遇到以下异常。在我看来,即使我使用了冻结值,它仍在发送cal,但没有关键字冻结 错误 代码 马文
我有以下序列
我不确定这是否是一个与我没有这台计算机的管理权限有关的问题。任何帮助,以便我可以进一步排除故障,将非常感谢! 谢谢
问题内容: 我使用,当我得到 我删除了构建路径,然后又做了 ,仍然是同样的错误。 问题答案: 该代码不是Java SE的一部分,因此这些类将不在JRE中。您需要找到并下载包含这些类的JAR文件,然后将其添加到Eclipse构建路径中。 (可以在此处下载JAR的一个地方,但是如果此链接中断,可以轻松进行自己的搜索。请转到Maven Central或findjar。)
问题内容: 我有一个jimfs(内存文件系统中的Google)从字节数组中创建的zip文件。当尝试使用打开该文件时,出现错误,提示无法识别该提供程序。我的代码如下: URI类似于:。 堆栈跟踪为: jimfs未与一起列出。它位于分别与 for 相比的单独的类加载器中。 提供者的打印如下: 我尝试基于jimfs ClassLoaderTest示例手动设置类加载器,但没有成功。我在Linux上运行。