施用Eclipse构建Maven的SpringMVC项目
- 格式:docx
- 大小:606.51 KB
- 文档页数:30
使用Eclipse构建Maven的SpringMVC项目首先Eclipse需要安装Maven的插件,地址:/sites/m2e。
用MyEclipse安装Maven插件,建出的Maven项目有些问题。
一是,发布tomcat的时候resources总是不会被发布到tomcat下;二是,把WEB-INF下的classes改到target下的classes,但是不知道为什么MyEclipse要么仍然在WEB-INF下生成class。
要么真不在WEB-INF生成classes 了但是发布tomcat的时候,class文件一个都不会给你发布过去,超级郁闷。
但是使用Eclipse构建Maven项目后,使用MyEclipse打开就没问题了。
用maven的好处:我感觉最主要就是自动下载jar包和它所依赖的包,这样可以保证了多人开发时jar版本不同的问题。
再就是文件结构清晰,java文件,资源文件,测试文件都分的很清楚。
将介绍两种方法:一,直接建立Maven项目方法;二、建立Dynamic Web project转成Maven 项目方法。
1,建立Maven项目接下来使用Eclipse的maven构建一个web项目,以构建SpringMVC项目为例:1.1 选择建立Maven Project选择File -> New -> Other,在New窗口中选择Maven -> Maven Project。
点击newxt。
1.2 选择项目路径Use default Workspace location默认工作空间。
1.3 选择项目类型在Artifact Id中选择maven-archetype-webapp1.4 输入Group ID和Artifact ID,以及PackageGroup ID一般写大项目名称。
Artifact ID是子项目名称。
例如Spring的web包,Group ID:org.springframework,artifactId:spring-web。
一、简介JavaEE(Java Platform, Enterprise Edition)是一种用于开发企业级应用的评台。
它提供了一系列的技术和API,用于构建大型、复杂的分布式系统。
本教程将介绍JavaEE企业级应用开发的基本概念、技术和最佳实践。
二、环境搭建1. 安装Java Development Kit(JDK):首先需要安装JDK,可以从Oracle全球信息站下载最新的JDK版本,并按照冠方指南进行安装。
2. 下载并配置JavaEE开发工具:可以选择Eclipse、NetBeans、IntelliJ IDEA等集成开发环境,然后安装相应的JavaEE插件。
3. 安装数据库:在开发JavaEE应用时,通常需要使用数据库。
可以选择MySQL、Oracle、PostgreSQL等数据库,并进行相应的安装和配置。
三、创建第一个JavaEE应用1. 创建一个新的JavaEE项目:在IDE中创建一个新的JavaEE项目,并选择适当的项目类型(如Servlet、JSP、EJB等)。
2. 编写代码:根据项目需求,编写相应的Java类、Servlet、JSP页面等。
3. 部署和运行:将项目部署到服务器上,并启动服务器,然后在浏览器中访问应用程序。
四、 JavaEE基础知识1. Servlet和JSP:介绍Servlet和JSP的基本概念、工作原理和使用方法。
2. EJB(Enterprise JavaBeans):介绍EJB的类型(Session Bean、Entity Bean、Message-Driven Bean)、生命周期和用法。
3. JPA(Java Persistence API):介绍JPA的基本概念、实体管理、查询语言等。
4. CDI(Contexts and Dependency Injection):介绍CDI的概念、注解、作用域等。
5. RESTful Web Services:介绍RESTful风格的Web服务的开发和使用。
SpringMVC框架搭建流程(完整详细版)SpringMVC框架搭建流程开发过程1)配置DispatcherServlet前端控制器2)开发处理具体业务逻辑的Handler(@Controller、 @RequestMapping)3) xml配置⽂件配置controller扫描,配置springmvc三⼤件4)将xml⽂件路径告诉springmvc(DispatcherServlet)详细流程:创建⽬录新建maven项⽬,注意选择webapp⾻架。
创建成功之后会发现没有src等⽬录,这些需要我们⼿动创建:在src下⾯新建main,main下⾯新建java⽬录,选择java⽬录,右键,在main下⾯继续新建resource⽬录,选择resource⽬录,右键,pom.xmlpom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="/POM/4.0.0"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion><groupId></groupId><artifactId>springmvc-demo</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><piler.source>11</piler.source><piler.target>11</piler.target></properties><dependencies><!--引⼊spring webmvc的依赖--><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.1.12.RELEASE</version></dependency></dependencies><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></project>注意Tomcat7插件是⽤来运⾏项⽬的,右侧运⾏:springmvc相关配置main⽂件夹下⾯新建webapp⽂件夹,webapp下⾯新建WEB-INF,下⾯新建web.xml<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""/dtd/web-app_2_3.dtd" ><web-app><display-name>Archetype Created Web Application</display-name><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><!--⽅式⼀:带后缀,⽐如*.action *.do *.aaa该种⽅式⽐较精确、⽅便,在以前和现在企业中都有很⼤的使⽤⽐例⽅式⼆:/ 不会拦截 .jsp,但是会拦截.html等静态资源(静态资源:除了servlet和jsp之外的js、css、png等)为什么配置为/ 会拦截静态资源因为tomcat容器中有⼀个web.xml(⽗),你的项⽬中也有⼀个web.xml(⼦),是⼀个继承关系⽗web.xml中有⼀个DefaultServlet, url-pattern 是⼀个 /此时我们⾃⼰的web.xml中也配置了⼀个 / ,覆写了⽗web.xml的配置为什么不拦截.jsp呢?因为⽗web.xml中有⼀个JspServlet,这个servlet拦截.jsp⽂件,⽽我们并没有覆写这个配置,所以springmvc此时不拦截jsp,jsp的处理交给了tomcat如何解决/拦截静态资源这件事?⽅式三:/* 拦截所有,包括.jsp--><!--拦截匹配规则的url请求,进⼊springmvc框架处理--><url-pattern>/</url-pattern></servlet-mapping></web-app>⾥⾯配置了springmvc相关的配置,引⼊了springmvc.xml:在resource⽬录下新建springmvc.xml:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:context="/schema/context"xmlns:mvc="/schema/mvc"xsi:schemaLocation="/schema/beanshttps:///schema/beans/spring-beans.xsd/schema/contexthttps:///schema/context/spring-context.xsd/schema/mvchttps:///schema/mvc/spring-mvc.xsd"><!--开启controller扫描--><context:component-scan base-package=".controller"/><!--配置springmvc的视图解析器--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/jsp/"/><property name="suffix" value=".jsp"/></bean><!--⾃动注册最合适的处理器映射器,处理器适配器(调⽤handler⽅法)--><mvc:annotation-driven/></beans>在java⽬录下新建包.controller,下⾯新建DemoController:package .controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView;import java.util.Date;/*** @author lyj* @Title: DemoController* @ProjectName springmvc-demo* @Description: TODO* @date 2020/6/9 21:21*/@Controller@RequestMapping("/demo")public class DemoController {/*** http://localhost:8080/demo/handle01*/@RequestMapping("/handle01")public ModelAndView handle01(){Date date=new Date();ModelAndView modelAndView=new ModelAndView();modelAndView.addObject("date",date);modelAndView.setViewName("success");return modelAndView;}}在WEB-INF下⾯新建jsp⽂件夹,下⾯新建success.jsp:<%@ page language="java" isELIgnored="false" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <html lang="en"><head><meta charset="UTF-8"><title>Title</title></head><body>当前时间 ${date}</body></html>完毕后整个项⽬结构如下:测试:浏览器访问:。
10步搞掂Maven项目在Eclipse的T omcat运行1、右击sem-frontends-app项目,点Properties。
2、在Project Facts选项里,如图设置Project Facet里的Dynamic Web Module和Java,在Runtimes里色选web服务器Tomcat,最后点OK。
3、在Deployment Assembly选项里,将有test字样和WebContent的Source都Remove掉。
4、接着再Add三个Source,点击Add,添加如图的内容。
(1)点Add,点Next,点Finish。
(2)点Add,点Next,点Finish。
(3)点Add点Next,点Finish。
完成之后页面如下图,再点OK完成5、在Maven选项里,在Active Maven Profiles的输入框里输入db2,再点OK。
这个步骤只针对使用db2数据库的,如果使用mysql的则不用修改。
6、打开cmd界面,进入到自己工程下的sems-frontends-app目录下,输入命令mvn test –Pdb2,回车。
7、找到sems-frontends-app目录,再打开target,再打开test-classes,找到application.properties 文件。
8、打开application.properties文件,复制如图选中的内容。
9、回到eclipse里,在sems-frontends-app里,打开Java Resources,打开src/main/filted-resources,找到application.properties文件并打开,将刚才复制的内容粘贴上去,并保存文件。
10、最后,将sems-frontends-app工程放到Tomcat服务器里,运行即可。
eclipse创建maven java项目的方法与步骤在Eclipse中创建Maven项目是一种相对简单的过程。
以下是创建Maven Java项目的基本步骤:前提条件:确保你的Eclipse已经安装了Maven插件。
你可以通过Eclipse Marketplace安装"Maven Integration for Eclipse"插件,或者使用Eclipse自带的"Help" -> "Eclipse Marketplace" -> "Search" 中搜索"Maven" 来安装。
创建Maven项目的步骤:1. 打开Eclipse IDE。
2. 选择菜单栏中的"File" -> "New" -> "Other"。
3. 在弹出的对话框中,展开"Maven" 文件夹,然后选择"Maven Project"。
点击"Next"。
4. 在下一个对话框中,确保"Create a simple project" 处于选中状态,然后点击"Next"。
5. 在"Group Id" 和"Artifact Id" 字段中输入你的项目的组织和项目名称。
这两个字段通常用来唯一标识一个Maven项目。
点击"Finish"。
6. Eclipse会提示你是否要切换到Maven的"Java EE Perspective",选择"Yes"。
7. 现在,Eclipse将使用Maven Archetype创建项目结构。
你可以选择不同的Archetype,比如"maven-archetype-quickstart" 用于创建一个简单的Java项目。
一、新建项目1.新建maven项目New ->project选择Maven projectnext在filter输入webapp选择maven-archetype-webappGroup id输入inscribe,artifact id输入farsighted二、添加struts2框架1.添加struts2支持项目上点右键->myeclipse->add struts capabilities点选struts2.1和/*只勾选struts2 core lib启动tomcat,在地址栏输入localhost:8088/farsighted出现如下界面2.添加action类New ->source folder输入src/main/javaNew ->classPackage输入org.inscribe.farsighted.action,name输入LoginActionLoginAction.javapackage org.inscribe.farsighted.action;import org.apache.struts2.convention.annotation.Action;import org.apache.struts2.convention.annotation.ParentPackage; import org.apache.struts2.convention.annotation.Result;import com.opensymphony.xwork2.ActionSupport;/*** @author steve frank**/@ParentPackage("struts-default")public class LoginAction extends ActionSupport {private String name;private String password;public String getName() {return name;}public void setName(String name) { = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Action(value = "login", results = {@Result(name = INPUT, location = "/WEB-INF/content/fail.jsp"),@Result(name = SUCCESS, location = "/WEB-INF/content/success.jsp") }) public String execute() {if (name.equals("steve") && password.equals("123"))return SUCCESS;elsereturn INPUT;}}Index.jsp<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib prefix="s" uri="/struts-tags"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>My JSP 'index.jsp' starting page</title></head><body><s:form action="login"><s:textfield name="name" value="steve"></s:textfield><s:textfield name="password" value="123"></s:textfield><s:submit></s:submit></s:form></body></html>success.jsp<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>My JSP 'success.jsp' starting page</title></head><body><s:text name="password" /><hr /><s:property value="password" /></body></html>fail.jsp<body>登录失败,用户名或密码错误.</body>三、添加hibernate框架1.添加hibernate支持右键->myeclipse->add hibernate capabilities点选hibernate 3.3 勾选enable hibernate annotations support勾选hibernate 3.3 annotations&entity manager,hibernate 3.3 core lib,hibernate 3.3 advanced support lib点选copy checked library jars to folder and add to build-path点选newFolder :src/main/resources勾选open configuration file选择db driver:mysql去掉勾,不创建hibernatesessionfactory四、添加spring框架1.添加spring支持项目右键->myeclipse->add spring capabilities点选spring3.0勾选spring 3.0 core;spring 3.0 aop;spring3.0 persistence core; spring3.0 persistence jdbc; 勾选copy checked library contents to project folder采取默认,enable aop,new applicationcontext.xml不创建sessionfactory2.applicationContext.xml文件配置<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:context="/schema/context"xmlns:aop="/schema/aop"xmlns:tx="/schema/tx"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans.xsd/schema/context/schema/context/spring-context.xsd/schema/aop/schema/aop/spring-aop.xsd/schema/tx/schema/tx/spring-tx.xsd"> <bean id="sessionFactory"class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBea n"><property name="configLocation" value="classpath:hibernate.cfg.xml"></property><property name="packagesToScan" value="org.inscribe.farsighted.model" /> </bean><!-- 使用annotation 自动注册bean,并检查@Controller, @Service, @Repository注解已被注入--><context:component-scan base-package="org.inscribe.farsighted" /><!-- 配置事务管理--><bean id="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactory" /></bean><!-- 配置注解实现管理事务(cglib:proxy-target-class="true")--><tx:annotation-driven transaction-manager="transactionManager"proxy-target-class="true" /></beans>3.hibernate.cfg.xml修改<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""/hibernate-configuration-3.0.dtd"><!-- Generated by MyEclipse Hibernate Tools. --><hibernate-configuration><session-factory><property name="dialect">org.hibernate.dialect.MySQLDialect</property><property name="connection.url">jdbc:mysql://localhost:3306/test</property><property name="ername">root</property><property name="connection.password">admin</property><property name="connection.driver_class">com.mysql.jdbc.Driver</property><property name="myeclipse.connection.profile">MYSQL</property><!-- <mapping class="org.inscribe.farsighted.model.Student" /> --><!-- Connection Pooling Info --><property name="initialSize">5</property><property name="maxActive">100</property><property name="maxIdle">30</property><property name="maxWait">500</property><property name="defaultAutoCommit">false</property></session-factory></hibernate-configuration>4.web.xml文件配置<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0" xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_3_0.xsd"><display-name></display-name><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><context-param><param-name>contextConfigLocation</param-name><param-value>classpath*:applicationContext*.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class ></listener><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping><filter><filter-name>Set Character Encoding</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>Set Character Encoding</filter-name><url-pattern>/*</url-pattern></filter-mapping></web-app>五、类的添加1.hibernate反向生成students表右键->hibernate reverse engineering选择package : com.inscribe.farsighted.model勾选create pojo<>db->点选add hibernate mapping annotations to pojo;勾选update hibernate configuration with mapping resource location勾选java data access object(dao)->勾选generate precise findby methods;点选sping daoId generation :native2.添加service接口package org.inscribe.farsighted.service;import org.inscribe.farsighted.model.Student;public interface StudentService {public Student findById(Integer id);}3.添加service实现类package org.inscribe.farsighted.service.impl;import javax.annotation.Resource;import org.inscribe.farsighted.model.Student;import org.inscribe.farsighted.model.StudentDAO;import org.inscribe.farsighted.service.StudentService;import org.springframework.stereotype.Service;@Servicepublic class StudentServiceImpl implements StudentService {@Resourceprivate StudentDAO studentDAO;@Overridepublic Student findById(Integer id) {// TODO Auto-generated method stubreturn studentDAO.findById(id);}}4.添加测试类package org.inscribe.farsighted;import org.inscribe.farsighted.model.Student;import org.inscribe.farsighted.service.StudentService;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Test {public static void main(String[] args) {ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");StudentService service = (StudentService) context.getBean("studentServiceImpl");Student s=service.findById(1);System.out.println(s.getName());}}5.WEB-INF下新建Folder包结构如下6.修改输出目录Build path->configure build pathOut folder统一改default:Webapp/src/main/webapp/WEB-INF/classes更改如果无效,在pom.xml中<build>……</build>添加<sourceDirectory>src/main/java</sourceDirectory><resources><resource><directory>src/main/resources</directory></resource></resources><outputDirectory>src/main/webapp/WEB-INF/classes</outputDirectory>7.添加struts-spring支持(action注解配置支持)Build path->add librariesMyeclipse libraries勾选struts 2 spring libraries8.修改struts.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration2.1//EN" "/dtds/struts-2.1.dtd"><struts><!-- 开启使用开发模式,详细错误提示--><constant name="struts.devMode" value="true" /><!-- 将对象交给spring管理--><constant name="struts.objectFactory" value="spring" /><!-- 指定资源编码类型--><constant name="struts.i18n.encoding" value="UTF-8" /><!-- 指定每次请求到达,重新加载资源文件--><constant name="struts.i18n.reload" value="true" /><!-- 指定每次配置文件更改后,自动重新加载--><constant name="struts.configuration.xml.reload" value="false" /><!-- 国际化资源文件--><constant name="struts.custom.i18n.resources" value="content/Language" /><!-- 浏览器缓存--><constant name="struts.serve.static.browserCache" value="false" /><!-- 默认后缀名--><constant name="struts.action.extension" value="do,action,jhtml,," /><!-- Struts Annotation --><constant name="actionPackages" value="com.frank.action" /> </struts>9.在LoginAction.java中添加调用StudentService@Resourceprivate StudentService studentService;测试Student s = studentService.findById(1);System.out.println(s.getName());10.success.jsp中添加<hr /> ${password}11.启动tomcat,地址栏输入http://localhost:8088/farsighted/点击submit效果如下包结构如下12.测试完成.。
基于MyEclipse的maven+springMVC项目创建及测试一.准备工作:安装MyEclipse10(已经集成了maven工具)二.项目建立步骤1.File->New->Other出现如下对话框选择Maven Project项目,Next默认不变,Next选择如上图,NextGroup Id和Artifact Id自定义,Package可写可不写,项目完成可再加。
Finish 完成。
项目目录如图:2.完善项目首先,完善目录,增加重要的source Folder,这个不是简单的Floder,这些文件夹是会参与编译的。
增加src/main/java,src/test/resources,src/test/java目录。
让目录变成标准的maven结构。
右击项目->Bulid Path->New Source Folder,如下图:Finish完成3.配置Maven工程右击项目->Properties->Resource,让项目的字符集为UTF-8,如图3.将工程变为Web工程选择Dynamic Web Module,版本选择3.0,如图:要配置web项目的发布目录,就是Deployment Assembly,如图:Maven Dependenices,完成之后如下图:项目的配置文件目录如下图:(1).配置web.xml,使其具有springmvc特性,主要配置两处,一个是ContextLoaderListener,一个是DispatcherServlet。
代码如下:web.xml<?xml version="1.0" encoding="UTF-8"?><web-app version="2.4" xmlns="/xml/ns/j2ee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/j2ee/xml/ns/j2ee/web-app_2_4.xsd"><listener><listener-class>org.springframework.web.context.ContextLoaderListener </listener-class></listener><servlet><servlet-name>exam</servlet-name><servlet-class>org.springframework.web.servlet .DispatcherServlet</servlet-class></servlet><servlet-mapping><servlet-name>exam</servlet-name><url-pattern>/</url-pattern></servlet-mapping><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list></web-app>(2).配置ContextLoaderListener表示,该工程要以spring的方式启动。
SpringMVC目录结构配置SpringMVC是一种常见的Java Web框架,它遵循MVC(Model-View-Controller)设计模式,用于构建灵活可扩展的Web应用程序。
SpringMVC的目录结构对于项目的开发和维护非常重要,下面会详细介绍SpringMVC的标准目录结构以及配置方式。
1.标准目录结构1.1 src/main/java:主要用于存放Java源代码。
1.2 src/main/resources:主要用于存放配置文件和资源文件。
1.3 src/main/webapp:主要用于存放Web应用的静态资源。
1.4 src/test/java:主要用于存放测试用例的Java源代码。
1.5 src/test/resources:主要用于存放测试用例的配置文件和资源文件。
2.详细解析2.1 src/main/java目录src/main/java目录是存放Java源代码的默认目录,它包括以下几个子目录:- config:用于存放Spring配置类,如配置数据库连接、配置事务管理等。
- interceptor:用于存放SpringMVC的拦截器。
- model:用于存放数据模型相关的实体类。
- util:用于存放工具类。
- web:用于存放SpringMVC的控制器。
2.2 src/main/resources目录src/main/resources目录是存放配置文件和资源文件的默认目录,它包括以下几个子目录:- static:用于存放静态资源文件,如CSS、JavaScript、图片等。
- templates:用于存放模板文件,如HTML、Thymeleaf模板等。
- application.properties:存放项目的配置信息,如数据库配置、端口配置等。
- logback.xml:存放日志配置,如日志级别、输出路径等。
- mapper:存放MyBatis的Mapper.xml文件。
SSI框架搭建SpringMVC3.1.2+Spring3.1.2+Mybatis3.2.6编号:SSI-SMVC3-S3-I3版本:V1.0级别:公开编写时间:2016-02-17目录1 导言 (1)1.1 目的 (1)1.2 范围 (1)1.3 说明 (1)2 搭建SpringMVC (2)2.1 搭建所需jar包 (2)2.2 其他依赖包 (3)2.3 搭建步骤 (4)2.3.1 创建项目 (4)2.3.2 导入jar包 (6)2.3.3 配置web.xml (7)2.3.4 配置spring-servlet.xml (9)2.3.5 配置applicationContext.xml (10)2.3.6 配置log4j.properties (10)3 整合mybatis (11)3.1 整合所需jar包 (11)3.2 其他依赖包 (11)3.3 整合步骤 (11)3.3.1 导入jar包 (11)3.3.2 配置config.properties (12)3.3.3 配置spring-dataSource.xml (12)3.3.4 配置applicationContext.xml (15)3.3.5 配置mybatis-config.xml (16)3.3.6 创建实体model (17)3.3.7 创建实例化dao (19)3.3.8 创建业务服务service (21)3.3.9 创建控制层controller (23)3.3.10 页面代码 (28)3.3.11 启动项目 (37)1导言1.1 目的本文档是根据个人的工作经验搭建的轻量级SSI框架,也是实际应用中比较全面的基础框架,用于指导SSI框架初学者学习搭建SSI框架,希望能给各位使用者提供帮助,同时也希望朋友们尽量去帮助其他人。
1.2 范围本次框架搭建的版本是SpringMVC3.1.2+Spring3.1.2+Mybatis3.2.6,数据库采用的是mysql,在eclipse开发工具下搭建直接搭建的web项目,页面采用的是h5,ajax实现数据访问,如果页面为jsp等,则修改controller的返回类型即可。
Eclipse中配置Maven的图⽂教程⼀、安装MavenMaven 是使⽤ Java 开发的,所以必须知道当前系统环境中 JDK 的安装⽬录。
解压 Maven 的核⼼程序将 apache-maven-3.6.3-bin.zip 解压到⼀个⾮中⽂⽆空格的⽬录下配置环境变量。
查看 Maven 版本信息验证安装是否正确⼆、设置Maven的配置⽂件1. 配置本地仓库Maven 的核⼼程序并不包含具体功能,仅负责宏观调度。
具体功能由插件来完成。
Maven 核⼼程序会到本地仓库中查找插件。
如果本地仓库中没有就会从远程中央仓库下载。
此时如果不能上⽹则⽆法执⾏ Maven 的具体功能。
为了解决这个问题,我们可以将 Maven 的本地仓库指向⼀个在联⽹情况下下载好的⽬录。
Maven 默认的本地仓库:~.m2\repository ⽬录。
Tips:~表⽰当前⽤户的家⽬录。
找到 Maven 的核⼼配置⽂件 settings.xml ⽂件D:\develope_tools\Maven\apache-maven-3.5.3\conf\settings.xml设置⽅式<localRepository>本地仓库的路径</localRepository><localRepository>D:\develope_tools\Maven\apache-maven-3.5.3\repo</localRepository>2. 配置阿⾥云镜像为了下载jar 包⽅便,在Maven 的核⼼配置⽂件 settings.xml ⽂件的标签⾥⾯配置以下标签:<mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>Nexus aliyun</name><url>/nexus/content/groups/public</url></mirror>三、在 Eclipse 中配置 MavenEclipse 中默认⾃带 Maven 插件,但是⾃带的Maven 插件不能修改本地仓库,所以通常我们不使⽤⾃带的 Maven,⽽是使⽤⾃⼰安装的,在 Eclipse 中配置 Maven 的步骤如下:点击 Eclipse 中的 Window→Preference点开 Maven 前⾯的箭头,选择 Installations,点击 Add点击 Directory…选择我们安装的 Maven 核⼼程序的根⽬录,然后点击 Finish选择 Maven 下的 User Settings,在全局设置哪⼉点击 Browse…选择 Maven 核⼼程序的配置⽂件 settings.xml,本地仓库会⾃动变为我们在 settings.xml ⽂件中设置的路径四、在 Eclipse 中创建 Maven 项⽬1. 想要在new中出现MavenProject的⽅法⽅法如下:点击 File→New→Maven Project,弹出如下窗⼝点击 Next,配置坐标(GAV)及打包⽅式,然后点击 Finish创建完⼯程之后发现默认的 JDK 的编译版本是 1.5,在 Maven 的核⼼配置⽂件 settings.xml ⽂件中添加以下配置将编译版本改为 1.8,重启 Eclipse 即可<profile><id>jdk-1.8</id><activation><activeByDefault>true</activeByDefault><jdk>1.8</jdk></activation><properties><piler.source>1.8</piler.source><piler.target>1.8</piler.target><pilerVersion>1.8</pilerVersion></properties></profile>配置 Maven 的核⼼配置⽂件 pom.xml ⽂件<project xmlns="/POM/4.0.0" xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.jachin.maven</groupId><artifactId>Hello</artifactId><version>0.0.1-SNAPSHOT</version><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency></dependencies></project>在 src/main/java ⽬录下创建包并创建 Hello.java ⽂件在 src/test/java ⽬录下创建包并创建 HelloTest.java ⽂件使⽤ Maven 的⽅式运⾏Maven ⼯程在⼯程名 Hello 或 pom.xml 上右键→Run As 运⾏ Maven 项⽬五、创建Web ⼯程(了解)创建简单的 Maven ⼯程,打包⽅式为 war 包创建完成之后因缺少 web.xml ⽂件⼯程出现⼩红叉在⼯程上右键→Build Path→Configure Build Path…点击 Project Facets 欺骗Eclipse 当前⼯程不是Web ⼯程,点击应⽤再告诉Eclipse 当前⼯程是⼀个 Web ⼯程,点击应⽤并关闭发现 MavenWeb ⼯程⼩红叉消失,并出现了 WebContext ⽬录在 WebContext 下创建 index.jsp 页⾯并添加 Tomcat 库发现报错,需要配置tomcat服务器在项⽬上右键点击Build Path在 MavenWeb 上右键→Run As→Run on Server 部署到 Tomcat 上运⾏六、创建⽗⼯程⽗⼯程的打包⽅式为 pom,⽗⼯程只需要保留 pom.xml ⽂件即可创建简单的 Maven ⼯程,打包⽅式选择pom在 pom.xml ⽂件中通过<dependencyManagement></dependencyManagement> 标签进⾏依赖管理<project xmlns="/POM/4.0.0" xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.jachin.maven</groupId><artifactId>Parent</artifactId><version>0.0.1-SNAPSHOT</version><packaging>pom</packaging><!-- 依赖管理 --><dependencyManagement><dependencies><!-- 在此配置要管理的依赖 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.0</version><scope>test</scope></dependency></dependencies></dependencyManagement></project>在⼦⼯程中继承⽗⼯程<!-- 继承 --><parent><!-- 在此配置⽗⼯程的坐标 --><parent><groupId>com.jachin.maven</groupId><artifactId>Parent</artifactId><version>0.0.1-SNAPSHOT</version></parent></parent>七、Eclipse导⼊Maven⼯程点击 File→Import…第⼀次导⼊⼿动创建的Maven 项⽬时,由于项⽬中没有Eclipse ⽣成的⼀些⽂件,使⽤⽅式⼀导⼊时 Eclipse 认为它不是⼀个⼯程所以必须通过⽅式⼆导⼊到 Eclipse 中导⼊到Eclipse 中之后就会⽣成⼀些 Eclipse 能识别的⽂件有了这些Eclipse 能识别的⽂件之后以后再往Eclipse 中导⼊的时候选择⽅式⼀和⽅式⼆都可以(下⾯使⽤⽅式⼀)到此这篇关于Eclipse中配置Maven的图⽂教程的⽂章就介绍到这了,更多相关Eclipse中配置Maven内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
使用Eclipse构建Maven的SpringMVC项目首先Eclipse需要安装Maven的插件,地址:/sites/m2e。
用MyEclipse安装Maven插件,建出的Maven项目有些问题。
一是,发布tomcat的时候resources总是不会被发布到 tomcat下;二是,把WEB-INF 下的classes改到target下的classes,但是不知道为什么MyEclipse要么仍然在WEB- INF下生成class。
要么真不在WEB-INF生成classes了但是发布tomcat的时候,class文件一个都不会给你发布过去,超级郁闷。
但是使用Eclipse构建Maven项目后,使用MyEclipse打开就没问题了。
用maven的好处:我感觉最主要就是自动下载jar包和它所依赖的包,这样可以保证了多人开发时jar版本不同的问题。
再就是文件结构清晰,java 文件,资源文件,测试文件都分的很清楚。
将介绍两种方法:一,直接建立Maven项目方法;二、建立Dynamic Web project转成Maven项目方法。
一、直接建立Maven项目方法1、建立Maven项目接下来使用Eclipse的maven构建一个web项目,以构建SpringMVC项目为例:1.1 选择建立Maven Project选择File -> New -> Other,在New窗口中选择 Maven -> Maven Project。
点击newxt。
1.2 选择项目路径Use default Workspace location默认工作空间。
1.3 选择项目类型在Artifact Id中选择maven-archetype-webapp1.4 输入Group ID和 Artifact ID,以及PackageGroup ID一般写大项目名称。
Artifact ID是子项目名称。
例如Spring的web包,Group ID:org.springframework,artifactId:spring-web。
Package是默认给你建一个包,不写也可以。
1.5 刚建立好后的文件结构如下图如果这里显示的内容多,一般是Filters设置的问题。
或perspective为JavaEE 模式,改成Java模式就可以了。
2、配置Maven项目接下来就需要更改好多配置了。
2.1 添加Source文件夹接下来需要添加src/main/java,src/test/java ,src/test/resources三个文件夹。
右键项目根目录点击New -> Source Folder,建出这三个文件夹。
注意不是建普通的Folder,而是Source Folder。
2.2 更改class路径右键项目,Java Build Path -> Source下面应该有4个文件夹。
src/main/java,src/main/resources,src/test/java ,src/test/resources。
双击每个文件夹的Output folder,选择路径。
src/main/java,src/main/resources,选择target/classes;src/test/java ,src/test/resources, 选择target/test-classes;选上Allow output folders for source folders.在此处还要更改:更改文件夹显示的顺序:点击Order and Export。
更改JDK版本:在Libraries双击JRE System Library,要1.6版本。
2.3 把项目变成Dynamic Web项目2.3.1 右键项目,选择Project Facets,点击Convert to faceted from2.3.2 配置Project Facets更改Dynamic Web Module的Version为2.5。
(3.0为Java7的)。
如果提示错误,可能需要在Java Compiler设置Compiler compliance level 为1.6。
或者需要在此窗口的Java的Version改成1.6。
2.3.3 配置 Modify Faceted Project点击Further configuration available…,弹出Modify Faceted Project窗口此处是设置web.xml文件的路径,我们输入src/main/webapp。
Generate web.xml deployment descriptor自动生成web.xml文件,可选可不选。
2.4 设置部署程序集(Web Deployment Assembly)上面步骤设置完成后,点击OK,Properties窗口会关闭,在右键项目打开此窗口。
在左侧列表中会出现一个Deployment Assembly,点击进去后,如下图:此处列表是,部署项目时,文件发布的路径。
1,我们删除test的两项,因为test是测试使用,并不需要部署。
2,设置将Maven的jar包发布到lib下。
Add -> Java Build Path Entries -> Maven Dependencies -> Finish设置完成效果图3、向maven项目中添加jar包maven可以管理项目依赖的jar包,通过groupID、artifactId以及版本号可以唯一确定一个jar包。
这样可以防止老式Web项目中WEB-INF/lib下jar包不一致的问题。
并且maven还会自动下载添加进的jar包所依赖的jar包。
3.1 在pom.xml中添加所需要的jar包使用Maven POM editor打开项目中的pom.xml文件,选择Dependencies,在Dependencies栏目点击Add进行,首先弹出一个搜索按钮,例如输入spring-web,就会自动搜索关于spring-web相关的jar包,我们选择3.0.5版本的spring。
将spring包全部添加进来。
需要添加的其他jar包有:junit、jstl。
或者点击pom.xml直接编辑pom.xml文件。
这样可以直接copy过来 dependencies内容。
3.2设置jar包的scope当添加进入一个jar包后,有一些属性需要设置,最重要的就是scope,它有以下几种取值:1. compile,缺省值,适用于所有阶段,会随着项目一起发布。
2. provided,类似compile,期望JDK、容器或使用者会提供这个依赖。
如servlet.jar。
3. runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
4. test,只在测试时使用,用于编译和运行测试代码。
不会随项目发布。
5. system,类似provided,需要显式提供包含依赖的jar,Maven不会在 Repository中查找它。
通常SpringMVC项目所需要配置scope的jar包如下图:有的时候发现servlet-api还是被打包到lib下面了,此时肯定会报错。
就需要把maven插件中的WTP也安装一下。
Eclipse在线安装路径:/sites/m2e-extras。
选择for Eclipse WTP。
4、构建SpringMVC框架4.1 编辑web.xml文件需要添加log4j,字符过滤,Spring 的dispatcher等。
webx.xml代码如下:Xml代码1.<?xml version="1.0"encoding="UTF-8"?>2.<web-app xmlns="/xml/ns/javaee"3.xmlns:xsi="/2001/XMLSchema-instance"4.xsi:schemaLocation="/xml/ns/javaee5. /xml/ns/javaee/web-app_2_5.xsd"6.version="2.5">7.8.<!-- 区分项目名称,防止默认重名 -->9.<context-param>10. <param-name>webAppRootKey</param-name>11. <param-value>maven.example.root</param-value>12. </context-param>13.14. <!-- Spring的log4j监听器 -->15. <listener>16. <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>17. </listener>18.19. <!-- 字符集过滤器 -->20. <filter>21. <filter-name>CharacterEncodingFilter</filter-name>22. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>23. <init-param>24. <param-name>encoding</param-name>25. <param-value>UTF-8</param-value>26. </init-param>27. <init-param>28. <param-name>forceEncoding</param-name>29. <param-value>true</param-value>30. </init-param>31. </filter>32. <filter-mapping>33. <filter-name>CharacterEncodingFilter</filter-name>34. <url-pattern>/*</url-pattern>35. </filter-mapping>36.37. <!-- Spring view分发器 -->38. <servlet>39. <servlet-name>dispatcher</servlet-name>40. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>41. <init-param>42. <param-name>contextConfigLocation</param-name>43. <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>44. </init-param>45. <load-on-startup>1</load-on-startup>46. </servlet>47. <servlet-mapping>48. <servlet-name>dispatcher</servlet-name>49. <url-pattern>*.do</url-pattern>50. </servlet-mapping>51.52.</web-app><?xml version="1.0" encoding="UTF-8"?><web-app xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_2_5.xsd"version="2.5" ><!-- 区分项目名称,防止默认重名 --><context-param><param-name>webAppRootKey</param-name><param-value>maven.example.root</param-value> </context-param><!-- Spring的log4j监听器 --><listener><listener-class>org.springframework.web.util.Log4jConfigListe ner</listener-class></listener><!-- 字符集过滤器 --><filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodin gFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- Spring view分发器 --><servlet><servlet-name>dispatcher</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServ let</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/dispatcher-servlet.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>dispatcher</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping></web-app>4.2 编写Spring配置文件dispatcher-servlet.xml如要添加MVC驱动、注解检测、视图解析等。