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>
- 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>
各自访问的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<