用idea建一个简单springmvc项目及静态资源映射
先打开Idea,Create New Project
这里我们用maven来创建项目,jdk用的是1.8,然后点Next。
填写完下面的信息后点击“完成”。
这样一个Maven项目已经建立了。
下面我们需要添加springmvc的相关依赖。
<?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>demo</groupId>
<artifactId>springmvc</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<!-- spring-mvc-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.7.RELEASE</version>
</dependency>
<!-- servlet-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2.1-b03</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.3.1</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
</project>
添加完成后Reimport一下,然后就能看到在External Libraries下,相关的依赖都已经加载
下面我们可以开始写一个springmvc的小程序了。
在resources文件夹下我们新建一个index.jsp的jsp文件代码如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Welcome</title>
</head>
<body>
<pre>
Welcome to Spring MVC !
</pre>
</body>
</html>
接下我们编写springmvc的配置类
package mvc;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.JstlView;
@Configuration
@EnableWebMvc
@ComponentScan()
public class MvcConfig {
@Bean
public InternalResourceViewResolver viewResolver(){
InternalResourceViewResolver viewResolver=new InternalResourceViewResolver();
// 默认的classpath=resource文件夹=WEB-INF\classes\
viewResolver.setPrefix("classpath:/");
viewResolver.setSuffix(".jsp");
viewResolver.setViewClass(JstlView.class);
return viewResolver;
}
}
接下来我们写web配置类
package mvc;
import org.springframework.web.WebApplicationInitializer;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.servlet.DispatcherServlet;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRegistration.Dynamic;
public class WebInit implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
AnnotationConfigWebApplicationContext ctx=new AnnotationConfigWebApplicationContext();
ctx.register(MvcConfig.class);
ctx.setServletContext(servletContext);
Dynamic servlet=servletContext.addServlet("dispatcher",new DispatcherServlet(ctx));
servlet.addMapping("/");
servlet.setLoadOnStartup(1);
}
}
最后我们写一个简单的控制器
package mvc.control;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloControl {
@RequestMapping("/index")
public String hello(){
return "index";
}
}
这样一个简单的springmvc项目就构筑完成了。
接下来我们要运行一下,点击 Add Configuration
然后我们最加一个tomcat的localserver ,起个名字,最后点击“Fix”
点击绿色箭头启动tomcat
启动后会有报错,页面也无法访问,但是不用理会,因为访问地址不对的关系。
在地址栏最后添加 index后回车,进入index页面成功。
这里一个小的springmvc项目我们就创建完成。
接下来我们试着让项目能访问本地的静态资源。我们拷贝一个test.jpg文件到resources文件夹下。
我们需要修改springmvc的配置类,继承WebMvcConfigurer这个接口,然后重写其中的addResourceHandlers这个方法。
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
// handler是资源页面访问链接,locations是资源的所在文件夹
registry.addResourceHandler("/**").addResourceLocations("classpath:/");
}
然后我们重启tomcat,输入http://localhost:8080/springmvc_war/test.jpg就能直接访问该图片了。
如果图片文件不在项目内,比如在d盘根目录下面,那么我们只要修改一下资源的文件夹位置,就行了。
registry.addResourceHandler("/**").addResourceLocations("file:d:/");
以上同样适用于eclipse, 只有tomcat服务器配置方法稍有不同而已。
本文地址:https://blog.csdn.net/qq_39936465/article/details/107639278
上一篇: java基础之彩票项目