Idea搭建基于Maven的SpringMvc项⽬结构
1、打开Idea,如果在初始化界⾯,选择Create New Project,如果Idea软件已经打开,则选择菜单File》New》Project
2、在New Project界⾯,⾸先在左侧选择Maven,Project SDK不要选择默认,选择⾃⼰配置的SDK,勾选Create from archetype,列表中存在两个webapp,
选择maven-archetype-webapp。然后单击Next
3、下⾯的信息可以随意填写,ArtifactId最好和你的项⽬名⼀致,然后单击Next
4、配置Maven相关信息,初始化为系统默认的Maven,这⾥建议配置成⾃⼰的Maven。Maven home directory选择⾃⼰本地Maven路径。
勾选override,User setting file选择⾃⼰Maven路径下的conf⽂件下的l⽂件。Local repository选择⾃⼰配置的本地Maven仓库,单击Finish完成项⽬创建
项⽬⽬录如下:
5、添加Spring MVC框架,单击项⽬springmvcdemo,右键选择Add
勾选Spring下⾯的Spring MVC。点击OK
新增完成后,在WEB-INF⽂件夹下会增加l和l两个配置⽂件
如果框架中已经存在Spring MVC相关配置,则此窗⼝不会有Spring MVC节点。可以先删除已有的再重新添加,
⽅法如下:点击File,选择Project Structure,选择Facets,就会看到有⼀个Spring啦,右击它,点删除,
然后再回到上⾯第3步重新Add framework support,Spring就会出现啦。
6、在src/main⽬录右键选择New Directory,分别创建java和resources⽂件夹。java夹会显⽰蓝⾊,resources⽂件夹右下⾓会有黄⾊标记。
如果java和resources⽂件夹未出现相应标识。可以打开项⽬接⼝,⼿动进⾏标记。选中⽂件夹,然后Mark as 成相应的类型即可
7、接下来在java⽂件夹下创建相应的包,在webapp⽂件夹下创建相应的静态资源⽂件存储和视图存储,⽬录结构如下:
8、接下来对项⽬进⾏配置,⾸先打开l⽂件,引⼊相关的依赖
<!--J2EE-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!--springframework-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.2.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.2.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.3.RELEASE</version>
</dependency>
然后,配置l⽂件
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"java.sun/dtd/web-app_2_3.dtd" >
<web-app xmlns="/xml/ns/javaee"
xmlns:xsi="/2001/XMLSchema-instance"
xsi:schemaLocation="/xml/ns/javaee /xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<display-name>Archetype Created Web Application</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<!--配置l作为mvc的配置⽂件-->
<param-name>contextConfigLocation</param-name>
<param-value>/l</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/l</param-value>
</context-param>
<listener>
<listener-class>org.t.ContextLoaderListener</listener-class>
</listener>
然后配置l⽂件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="/schema/beans"
xmlns:xsi="/2001/XMLSchema-instance"
xmlns:context="/schema/context"
xmlns:mvc="/schema/mvc"
xsi:schemaLocation="/schema/beans
/schema/beans/spring-beans.xsd
java spring框架搭建/schema/context
/schema/context/spring-context.xsd
/schema/mvc
/schema/mvc/spring-mvc.xsd">
<!--启⽤spring的⼀些annotation -->
<context:annotation-config/>
<!-- 配置注解驱动可以将request参数与绑定到controller参数上 -->
<mvc:annotation-driven/>
<!--配置静态资源映射,此demo把静态资源放在了webapp的statics⽬录下,资源映射如下-->
<mvc:resources mapping="/css/**" location="/statics/css/"/>
<mvc:resources mapping="/js/**" location="/statics/js/"/>
<mvc:resources mapping="/image/**" location="/statics/images/"/>
<mvc:default-servlet-handler />  <!--这句要加上,要不然可能会访问不到静态资源,具体作⽤可参考博客:wwwblogs/dflmg/p/6393416.html-->    <!-- 默认的视图解析器在上边的解析错误时使⽤ (默认使⽤html)- -->
<bean id="defaultViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewR
esolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/views/"/><!--设置JSP⽂件的⽬录位置-->
<property name="suffix" value=".jsp"/>
<property name="exposeContextBeansAsAttributes" value="true"/>
</bean>
<!-- ⾃动扫描装配 -->
<context:component-scan base-package="ller"/>
</beans>
最后配置下l⽂件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="/schema/beans"
xmlns:xsi="/2001/XMLSchema-instance"
xmlns:context="/schema/context"
xsi:schemaLocation="/schema/beans
/schema/beans/spring-beans.xsd
/schema/context
/schema/context/spring-context.xsd">
<context:component-scan base-package="demo"/>
</beans>
⾄此。框架基本搭建完毕,接下来创建⼀个测试controller
9、在controller⽂件夹下创建⼀个HelloController类
ller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/home")
public class HelloController {
@RequestMapping("/index")
public String index(){
return "index";
}
}
在css⽂件夹下创建⼀个index.css样式表⽂件
h1{
color: red;
}
在views⽂件夹下创建⼀个index.jsp⽂件
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Spring Mvc测试</title>
</head>
<body>
<h1>Hello Friend!</h1>
</body>
</html>
10、配置Tomcat服务器
菜单栏单击Run》》然后单击+号选择TomcatServer》Local
可以先配置Deployment,点击绿⾊加号,选择 选择第⼆个,⼀定要选择war exploded,要不然会报错
这⾥名字和项⽬名⼀样
然后,来设置Server,可以给Tomcat取个名字,Configure 选择⾃⼰安装好的Tomcat,根据个⼈习惯设置⼀个默认的浏览器。
然后On 'Update' action 和 On frame deactivation两项都选择Update classes and resources,
这是为了当我们修改了jsp、css、js等静态资源的时候,⽴即⽣效,不需要重启Tomcat,直接在页⾯上
刷新就可以看到效果。
之前之所以先配置Deployment,是因为要先配置⾥⾯的Artifact,这两项要依赖于exploded,要不然Update classes and resources是没有的,
只是为了⽅便⽽已。⾄此,Tomcat设置完成
11、运⾏Tomcat,在地址栏输⼊