用idea创建一个java web项目
如何用idea新建一个Spring web项目
首先要下好maven,tomcat,idea,jdk等开发工具
一、新建一个工程
1、打开idea,选择File->New->project
2、选择一个空项目,点击next,给项目命名,点击Finish即可
3、出现以下界面,点击左上角的+号,选择new module
4、选择Java EE选择,点击next,点击Finish->OK即可
5、项目建好后的目录结构为
二、配置tomcat
1、进入tomcat编辑页
2、进行tomcat配置,如果Application server为空,点击configure进行配置
三、引入依赖
1、向项目中引入两个依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.15</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.3.15</version>
</dependency>
四、配置前端控制器
1、单击web.xml文件节点,编辑该文件
web.xml文件的内容时告诉Web容器,将使用Spring MVC的DispatherServlet,并通过url-patter元素的值为"/",将所有的URL映射到该文件上
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<!-- 定义springMvc的前端控制器 -->
<servlet>
<!-- 这段配置就是在启动服务加载springmvc的disservlet ,初始化了参数,就我画那部分-->
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/springmvc-config.xml</param-value>
</init-param>
</servlet>
<!-- 让springMVC的前端控制器拦截所请求 -->
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
2、在WEB-INF页面新建一个springmvc-config.xml文件,配置Spring MVC的controller
1、以基于注解的控制器为例,配置springmvc-config.xml
<?xml version="1.0" encoding="utf-8"?>
<!--基于注解的控制器-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.2.xsd">
<!-- spring 可以自动扫描base-pack下面的包或者子包下面的java文件,如果扫描到spring的相关注解类,则把这些类注册为spring的bean -->
<context:component-scan base-package="com.yc.springmvc.Controller" />
<!-- 配置annotation类型的处理器映射 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" />
<!-- 配置annotation类型的处理器适配器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter" />
<!-- 视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" />
</beans>
五、Controller类的实现
1、新建一个HelloController
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class HelloController {
//@RequestMapping用来映射请求的URL和请求的方法等,本例用来映射"/hello"
@RequestMapping("/hello")
public ModelAndView helloWorld(){
System.out.println("hello 方法被调用");
//创建准备返回的ModelAndView对象,该对象通常包含了返回视图名,模型的名称以及模型对象
ModelAndView mv=new ModelAndView();
//添加模型数据,可以说任意的POJO对象
mv.addObject("message","hello World");
//设计视图名,视图解析器会根据该名称解析到具体的视图页面
mv.setViewName("/WEB-INF/content/welcome.jsp");
//返回ModelAndView对象
return mv;
}
}
六、在WEB-INF下新建一个content目录,新建welcome.jsp
七、启动服务
7、在浏览器中输入访问地址:http://localhost:80/hello
注意:如果配置端口为80,80端口有可能不会显示
出来基于注解的配置文件spring-config.xml,还有基于Controller接口的控制器
参考文章:springmvc配置文件web.xml和spring-config.xml