如何用idea新建一个Spring web项目

如何用idea新建一个Spring web项目

首先要下好maven,tomcat,idea,jdk等开发工具
一、新建一个工程

1、打开idea,选择File->New->project
image
2、选择一个空项目,点击next,给项目命名,点击Finish即可
image
3、出现以下界面,点击左上角的+号,选择new module
image
4、选择Java EE选择,点击next,点击Finish->OK即可
image
5、项目建好后的目录结构为
image

二、配置tomcat

1、进入tomcat编辑页
image
2、进行tomcat配置,如果Application server为空,点击configure进行配置
image
image

三、引入依赖

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文件节点,编辑该文件
image
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>

image

五、Controller类的实现

1、新建一个HelloController
image

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

image

七、启动服务

image

7、在浏览器中输入访问地址:http://localhost:80/hello

image

注意:如果配置端口为80,80端口有可能不会显示

出来基于注解的配置文件spring-config.xml,还有基于Controller接口的控制器
参考文章:springmvc配置文件web.xml和spring-config.xml

posted @ 2022-11-18 11:44  小冷漠  阅读(825)  评论(0编辑  收藏  举报