eclipse创建maven 3.1版本maven项目

基于eclipse创建maven项目 并实现 springMVC

由于 eclipse 默认创建 maven项目是 2.3 版本的动态web项目,所以在此基础上 对版本进行更改,这个例子是讲web版本改为目前最新的3.1版本,游客可参考这个案例进行其他版本的更改,异曲同工的。

1.选择创建maven项目(可以正常启动的2.3版本)

 

 

在测试之前呢,需要对项目进行环境配置,如:编译器版本问题!!!!!

  在项目上右键,Build Path / Configure Build Path, 对编译器等配置进行更改

 此处有a、b、c  三个大项要改,步骤为1、2....数字,主要是对 jre 编译器进行修改的,

修改后的效果:

a的修改是上面那种图的

b的修改:

 c的修改:

 

  这时候看index.jsp这个文件是不是还是 报错红星 状态,怎么解决呢!!!

  

在pom.xml文件中添加server依赖

<!-- servlet api -->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>

 这样修改完,是不是不报错了。哈哈,就加入tomcat启动服务就可以了

注意:记得加项目的名称,我的案例是(mvc1)所以测试 url 是。http://localhost:8080/mvc1/

 这样就完成一半的进度了,完成maven 动态web项目的搭建,接下来是讲 C 图中的 动态 2.3 的数据怎么修改成3.1的(有点复杂,但是很短!!!)

3.将正常启动的2.3版本 修改为3.1版本
  • 更改web.xml中的文件头信息,将原来的全部删除,替换为以下代码
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" 
    id="WebApp_ID" 
    version="3.1">
  <display-name>Archetype Created Web Application</display-name>
</web-app>
  • 将视图显示切换为Navigator, window / show view / other

  • 在Navigator视图中更改org.eclipse.wst.common.project.facet.core.xml文件
    <?xml version="1.0" encoding="UTF-8"?>
    <faceted-project>
      <fixed facet="wst.jsdt.web"/>
      <installed facet="java" version="1.8"/>
      <installed facet="jst.web" version="3.1"/>
      <installed facet="wst.jsdt.web" version="1.0"/>
    </faceted-project>
  • 检查一下
  • 由于对maven以前的配置进行了修改,所以得 对项目进行 maven update一下,右击项目->maven->update projext,


  • 最后在运行一下程序,看是不是还可以运行


    如果运行成功,就很厉害了,如果不行,可以留言,也可以参考其他博主的,谢谢

 
 3.选择创建maven项目(可以正常启动的2.3版本)完成3.1版本的更改,进行mvc配置
  • 首先将spring 主要的 jar 加载进来,对pom.xom文件进行修改,增加依赖,这些事基本的(记得检查一下你有没有,重复的依赖注入进来啊!!)
    <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        
         <!-- 注意:这是没关系,只是因为JSP需要servlet的Jar包 我们选择最后那个pom.xml,双击打开,然后加入servlet 3.1的依赖坐标保存即可 -->
        <dependency>
          <groupId>javax.servlet</groupId><!-- jsp 报错解决方案 -->
          <artifactId>javax.servlet-api</artifactId>
          <version>3.1.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
        <dependency>
          <groupId>org.springframework</groupId>  <!-- jar -->
          <artifactId>spring-webmvc</artifactId>
          <version>4.3.11.RELEASE</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
        <!-- <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId>
            <version>4.3.11.RELEASE</version> </dependency> -->
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-context</artifactId>
          <version>4.3.11.RELEASE</version>
        </dependency>
    
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-beans</artifactId>
          <version>4.3.11.RELEASE</version>
        </dependency>
    
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-web</artifactId>
          <version>4.3.11.RELEASE</version>
        </dependency>
    
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-aop</artifactId>
          <version>4.3.11.RELEASE</version>
        </dependency>
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-core</artifactId>
          <version>4.3.11.RELEASE</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
        <!-- <dependency>
            <groupId>commons-fileupload</groupId>  文件下载 jar
            <artifactId>commons-fileupload</artifactId>
            <version>1.4</version>
        </dependency>
    
        <dependency>
            <groupId>commons-io</groupId>   常用io jar
            <artifactId>commons-io</artifactId>
            <version>2.6</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>  项目支持 jsp,引入jsp引擎 jar
            <artifactId>jsp-api</artifactId>
            <version>2.2</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>commons-fileupload</groupId>  文件下载 jar
            <artifactId>commons-fileupload</artifactId>
            <version>1.4</version>
        </dependency>
    
        <dependency>
            <groupId>com.alibaba</groupId>  对象转换 jar
            <artifactId>fastjson</artifactId>
            <version>1.2.59</version>
        </dependency>
    
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>javax.servlet.jsp-api</artifactId>
            <version>2.3.1</version>
        </dependency> -->
      
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
        </dependency>


  • 接下来对前段控制器 DispatcherServlet  和 视图解析器 进行加载配置

  • 首先对 web.xml进行修改,增加<servlet>和<servlet-mapping>标签    
<servlet>
        <servlet-name>frontController</servlet-name><!-- 前段控制器,DispatcherServlet的配置 -->
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name><!-- 视图解析器的初始化 -->
            <param-value>classpath:spring/spring-mvc-configs.xml</param-value>
        </init-param>
        <!-- 数字越小 越先加载  1,代表跟随系统加载而加载 -->
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping><!-- 对url进行解析,比如这个,所有的请求客户端url末尾都得加...do 比如:http://localhost:8080/mvc/admin/mvc.do -->
        <servlet-name>frontController</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
  • 然后在classpath 原路径下增加 spring包 和 spring-mvc-configs.xml 配置文件
  • spring-mvc-configs.xml 配置文件内容
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
        xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:aop="http://www.springframework.org/schema/aop"
        xsi:schemaLocation="http://www.springframework.org/schema/beans 
                            http://www.springframework.org/schema/beans/spring-beans.xsd 
                            http://www.springframework.org/schema/context
                            http://www.springframework.org/schema/context/spring-context.xsd 
                            http://www.springframework.org/schema/mvc 
                            http://www.springframework.org/schema/mvc/spring-mvc.xsd 
                            http://www.springframework.org/schema/aop 
                            http://www.springframework.org/schema/aop/spring-aop.xsd">
                            
    
        <!-- 对扫描包的路径进行设置: -->
        <context:component-scan base-package="com.cjean"/>
    
        <!-- 激活@Contrlloer模式  声明式编程 启动springmvc注解模式 -->
        <mvc:annotation-driven/>
        <!-- 视图解析器:对请求的路径或转发的展示页面路径进行设置 -->
        <bean id="jspViewResolver"
              class="org.springframework.web.servlet.view.InternalResourceViewResolver">
             <!-- <property name="viewClass"
                          value="org.springframework.web.servlet.view.JstlView" />-->
                          
              <property name="prefix" value="/WEB-INF/jsp/" />
              <property name="suffix" value=".jsp" />
              
        </bean>
        
        
    
    </beans>
  • 以上就完成mvc的配置了

4.选择创建maven项目(可以正常启动的2.3版本)对mvc配置进行代码检测,看是否成功
  • 首先创建2个Controller类
  • 1.HelloControllerStr ——>目的是返回 字符串,是否成功(代码如下)
    package com.cjean.springmvc.controller;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.bind.annotation.RestController;
    import org.springframework.web.servlet.ModelAndView;
    
    @RestController
    @RequestMapping("/str")
    public class HelloControllerStr {
        @RequestMapping("/hello1")
        public String getHello11() {
            return "modelAndView";
        }
    
    }
  • 2.HelloController ——>目的是返回 页面并传值,是否成功(代码如下)
    package com.cjean.springmvc.controller;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.servlet.ModelAndView;
    
    @Controller
    @RequestMapping("/admin")
    public class HelloController {
        
        @RequestMapping("/mvc")
        public ModelAndView getHello() {
            ModelAndView modelAndView = new ModelAndView();
            
            modelAndView.addObject("msg", "springmvc of cjean");
    
            modelAndView.addObject("msg2", "springmvc测试");
    
            modelAndView.setViewName("hello");//hello.jsp
            return modelAndView;
        }
    
        @RequestMapping("/say")
        public String getJsp() {//say.jsp
            return "say";
        }
    }
  • 3.在spring-mvc-configs.xml 配置文件中对jsp的位置进行了锁定,所以要在  /WEB-INF/jsp/   这个目录下创建 jsp,没有的 目录 或者 包 自助创建就好
  • say.jsp  代码如下
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title11222115514sofnao </title>
    </head>
    <body>
        <h1>Title11222115514sofnao </h1>
    </body>
    </html>
    View Code
  • hello.jsp  代码如下
    <html>
    <%@page isELIgnored="false" %>
    <%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
    <body>
    <h2>Hello World JSP*****!</h2>
    
    
    <h1>*******${6+9}*********</h1>
    hello,${msg2}
    
    
    
    
    <h1>*******${msg}*********</h1>
    <h1>*******${msg2}*********</h1>
    
    <h1>**************</h1>
    
    <h1>*******<%=request.getAttribute("msg")%>*********</h1>
    <h1>*******<%=request.getAttribute("msg2")%>*********</h1>
    </body>
    </html>
    View Code
各自访问的url:  注意!!!(这里url中的 mvc1  是我项目的名称,由于在eclipse 中进行tomcat 服务启动,所以需要加 项目名称的)
http://localhost:8080/mvc/
index/jsp-->Hello Worldwwww!

http://localhost:8080/mvc/str/hello1.do
返回字符串 ---> modelAndView

http://localhost:8080/mvc/admin/say.do
say.jsp--->Title11222115514sofnao

http://localhost:8080/mvc/admin/mvc.do
hello.jsp-->
                             
                          >0_0< 至此完成eclipse中 maven 3.1 版本的搭建 以及 mvc 项目的搭建   >0_0<
  
原文地址:https://www.cnblogs.com/cjeandailynotes/p/11885315.html