概要
springMVC项目搭建入门教程
搭建springMVC项目
1.打开idea,点击file,new project,选择empty project,选择好文件目录
2.新建module,选择maven,勾选Create from archetype,再选择maven-archetype-webapp,把命名好的module放在刚才新建的空项目里。
3.再配置maven
4.检查项目jdk,点击file,选择项目结构,依次检查一下jdk,我这里选择1.8,另外pom文件也改成1.8
5.补全项目结构
补之前:
补之后:右键选择main,new Directory,依次建好java(放源码)和resource(放配置文件)
配置pom.xml
1.添加springmvc依赖
<!--引入Spring MVC -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.1</version>
</dependency>
2.添加tomcat依赖
<!--引入Tomcat服务器配置-->
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>8080</port>
<path>/</path>
</configuration>
</plugin>
</plugins>
</build>
配置WEB.XML和springmvc.xml
1.web.xml
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<!-- servlet处理器名称-->
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<!-- 加载配置文件 springmvc.xml是资源下的文件名称-->
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<!-- 哪些请求会被处理
1.带后缀的: *.action,*.do,
2. /拦截除jsp之外的请求
3. /* 拦截所有 -->
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
2.springmvc.xml
<!-- 扫描controller-->
<context:component-scan base-package="com.lxb"></context:component-scan>
<!-- 视图解析器: prefix 前缀 suffix 后缀-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
<!-- 开启注解驱动-->
<mvc:annotation-driven></mvc:annotation-driven>
添加前后端文件
1.controller
//访问路径
@RequestMapping("/hello")
public String hello(){
//跳转到jsp/index.jsp
return "index";
}
2.jsp
<body>
<h1>Hello World!,你好世界!</h1>
</body>
3.启动tomcat
右边maven选择插件,打开tomcat,选择tomcat.run。
默认访问路径8080是webapp下的index.jsp页面
加路径:
4.额外功能
通过moduleAndView动态向前端传值。
//访问路径
@RequestMapping("/hello2")
public ModelAndView hello2(){
ModelAndView modelAndView = new ModelAndView();
Date date = new Date();
modelAndView.addObject("date",date);
modelAndView.setViewName("index");
return modelAndView;
}
<body>
<h1>Hello World!,你好世界!</h1>
<h1>Hello World!,你好世界!现在是北京时间:${date}</h1>
</body>
结果:
原因是jsp页面默认不适用EL表达式,困扰我一两个小时!
在jsp上方添加:
<%@ page isELIgnored="false" %>
即可
参考文章链接:https://blog.csdn.net/qq_45619623/article/details/118306300