eclipse debug怎么用_利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)

maven搭建

安装过程挺简单的,去apache下载apache-maven的zip包,解压到一个目录下,如下图

af2e3dd46862331cd45d316761714d5c.png

接下来配置windows环境,右击我的电脑--》属性--》高级系统设置--》环境变量--》系统变量--》新建,如下图

e36611ef5151510554b2d203bfcd9edf.png

就是你解压的maven的home目录;接着编辑系统变量的Path,如图

c96859d586ae3ff11a81e12daeafc195.png

其实跟配置java环境是一样的,最后几个连续确定之后就好了,这几个确定一定要点,不然配置不会保存,更不会生效! home路径一定要写自己的,别搬我的呀!路径最好是拷贝,手动输入太容易出错了。

接下来验证环境是否配置成功,打开命令行,输入mvn -v 如果出现下图的信息,那么恭喜你,配置成功了!当然,信息可能有些许出入,如版本不同等,这些不用在意。

15950b817fd52a0790e9a9a7f5dca7d2.png

Eclipse(java ee版)集成maven

一般而言,新的eclipse都已经集成了maven,如果没有那么就安装,点击eclipse菜单栏Help->Eclipse Marketplace搜索关键字maven到插件Maven Integration for Eclipse 并点击安装即可,接下来将eclipse集成的maven换成我们自己的,而不用eclipse自带的,重新定位,点击Window -> Preference -> Maven -> Installation -> Add进行设置,如下图

bfedafffc5aceb29bbe01c212583d6af.png

设置完成,那么eclipse配置maven就完成了,myeclipse配置和这个是一样的。

创建ssm项目

选择建立Maven Project 选择File -> New -> Other,在New窗口中选择 Maven -> Maven Project;点击next,如下图

d058f85ad0720612850c977993ad941a.png

选择项目路径,如下图,然后next

089da312e364db888bd09009544d5933.png

选择项目类型 选择Artifact Id为maven-archetype-webapp那一项,如下图

0bfcbc667a3261a400982a6e442de3ae.png

输入Group ID和 Artifact ID,以及Package,具体Group ID和 Artifact ID代表什么,可以去阅读《Maven 实战》,Group ID相当于一个组织,而Artifact ID相当于这个组织下的一个具体项目,Packege的话会根据你的Group ID和Artifact ID生成一个默认的名称,就用默认的就可以,如下图

4de3b278a68709ee9b961e42c1fa61e0.png

点finish之后,项目结构如下图

928ed998c79379804edf5c632193e34a.png

若目录结构和上面的有差别,那么将perspective改成Java模式就好了。上面的目录结构离标准的maven web结构还有一点差别,少了一个文件夹src/test/resources,我们手动创建下,右键项目根目录点击New -> Source Folder,建出这个文件夹,如下图:

c03c5a5a47cdfc6d70afa86c1781081f.png

Finish之后,项目结构图如下所示:

6f9fadc7c60573e6d96edf684d6b6443.png

把项目变成Dynamic Web项目右键项目,properties --》Project Facets,点击Convert to faceted fro,勾上Dynamic Web Module,并将Version为2.3。(3.0为Java7的)。

设置部署程序集(Web Deployment Assembly)

上面步骤设置完成后,点击OK,再右键项目,选择properties --》Deployment Assembly,如下图

f5eaae7d0ad70341b148f24b61ccb4ac.png

此处列表是,部署项目时,文件发布的路径。

(1)我们删除test的两项,因为test是测试使用,并不需要部署。

(2)设置将Maven的jar包发布到lib下。

Add -> JavaBuild Path Entries -> Maven Dependencies -> Finish

设置完成效果图

9a53170bf8a636801b687cde996c4b85.png

构建框架

在pom.xml中添加所需要的jar包,内容如下图

 4.0.0com.lee.mvnbook maven-ssm-web war0.0.1-SNAPSHOTmaven-ssm-web Maven Webapphttp://maven.apache.org4.0.2.RELEASE1.81.8org.springframework spring-core ${spring.version}org.springframework spring-web ${spring.version}org.springframework spring-oxm ${spring.version}org.springframework spring-tx ${spring.version}org.springframework spring-jdbc ${spring.version}org.springframework spring-webmvc ${spring.version}org.springframework spring-aop ${spring.version}org.springframework spring-context-support ${spring.version}org.springframework spring-test ${spring.version}org.mybatis mybatis 3.3.0mysql mysql-connector-java 5.1.38com.alibaba druid 1.0.26org.mybatis mybatis-spring 1.2.3javax.servlet jstl 1.2log4j log4j 1.2.16org.slf4j slf4j-api 1.6.1org.slf4j slf4j-nop 1.6.4junit junit 4.7testmaven-ssm-web

如果依赖不知道怎么写,比如groupId、artifactId、version不知道填什么,那么直接上http://search.maven.org/搜,对应着填写就可以了,如下图

2f5c1365d2bcbb8bdb9aeab0ffcee4f9.png

保存pom.xml,maven就会帮我们下载我们配置的所有jar包了,jar包依赖的jar包也会自动下载,是不是很方便!当然,这个下载可能需要较长的时间,不要急,当eclipse右下角的百分比进度没有了,就下载好了。jar包下载完成后,项目结构图如下

8857714e98a06a0de5f3cee33fbc6786.png

配置文件

web.xml

<?xml version="1.0" encoding="UTF-8"?>SSM configurationcharacterEncodingFilterorg.springframework.web.filter.CharacterEncodingFilterencodingUTF-8characterEncodingFilter/*contextConfigLocationclasspath:spring.xml,classpath:mybatis-spring.xmlorg.springframework.web.context.ContextLoaderListenerspringDispatcherServletorg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:spring-mvc.xml1springDispatcherServlet/index.htmlindex.jsp

spring.xml

<?xml version="1.0" encoding="UTF-8"?>

mybatis-spring.xml

<?xml version="1.0" encoding="UTF-8"?>

spring-mvc.xml

<?xml version="1.0" encoding="UTF-8"?>

mybatis-config.xml

<?xml version="1.0" encoding="UTF-8"?>  

log4j.properties

log4j.rootLogger=DEBUG, stdoutlog4j.logger.org.mybatis=DEBUGlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%5p %d %C: %m%n

mysqldb.properties

jdbc.driverClassName=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://192.168.1.100:3306/mybatisjdbc.username=rootjdbc.password=rootjdbc.initialSize=1jdbc.minIdle=1jdbc.maxActive=20jdbc.maxWait=60000jdbc.removeAbandoned=truejdbc.removeAbandonedTimeout=180jdbc.timeBetweenEvictionRunsMillis=60000jdbc.minEvictableIdleTimeMillis=300000jdbc.validationQuery=SELECT 1jdbc.testWhileIdle=truejdbc.testOnBorrow=falsejdbc.testOnReturn=false

项目结构图如下

a23d8936bebde9da7b9daeadb68565c3.png

java文件与jsp文件

PersonController.java

package com.huawei.controller;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import com.huawei.model.Person;import com.huawei.service.IPersonService;@Controller@RequestMapping("/personController")public class PersonController {  private IPersonService personService;  public IPersonService getPersonService() { return personService; } @Autowired public void setPersonService(IPersonService personService) { this.personService = personService; } @RequestMapping("/showPerson") public String showPersons(Model model){ List persons = personService.loadPersons(); model.addAttribute("persons

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/410356.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何实现一个符合泊松分布的即时消息发生器?

最近在做项目的时候遇到了这个问题&#xff0c;很是苦恼&#xff0c;要怪只能怪自己的数学底子太差&#xff0c;需要好好的补补。 目前有一个最简单的想法&#xff1a; int lamda 5; // 利用lamda值计算出来符合泊松分布的一串数字 int sleepTime poisonDistribution(lamda);…

[html] 开发静态页面时,不依赖node相关的工具,如何提取出公共部分并引入?

[html] 开发静态页面时&#xff0c;不依赖node相关的工具&#xff0c;如何提取出公共部分并引入&#xff1f; 比如我现在有一个index.html&#xff0c;如果要在其中html中引入html的话&#xff0c;我们假设该组件为modal.html&#xff0c;我们现在可以写一个最简单的html文件展…

【转载】ARM芯片介绍

ARM芯片介绍 作者&#xff1a;nbnb001 原文网址&#xff1a;http://bbs.imp3.net/thread-894970-1-1.html 一、ARM9系列 较小的核心面积带来较低的成本&#xff0c;相对比较省电&#xff0c;但难以冲击更高的频率&#xff0c;总体效能有限。 1. 威盛WM8505/WM8505 主频&#xf…

action请求是什么意思_凭什么说大疆Osmo Action可以干掉 GoPro hero7?

国内影像器材相关厂商中&#xff0c;大疆的研发实力显然处在第一阵营中的领军位置。这样评价它&#xff0c;不光是因为大疆这些年推出的产品在成像品质上都极为优秀&#xff0c;更是因为在爱好者眼中&#xff0c;这是一家“发起疯来连自家产品都打压”的技术疯子。和别人竞争&a…

数据共享如何改变世界_如何改变他人?“我不会去改变这个世界,我们会去改变自己”。...

我们每一个人都经常觉得&#xff0c;如果要是别人改变了的话&#xff0c;我们就会变得快乐&#xff0c;如果别人会做这一点的话&#xff0c;我就会变成快乐。我们就是一直不断地去努力&#xff0c;而且也希望别人可以改变。我见到很多的人&#xff0c;来参加我们的课程&#xf…

在laravel5.8中集成swoole组件----用协程实现的服务端和客户端(nginx配置篇章)

laravel项目中的配置 原文出处&#xff1a;https://laravelacademy.org/post/19700.html&#xff0c;感谢原文作者让laravel这款可爱的php框架&#xff0c;进入了高并发的殿堂如果你已经成功安装了laravelS组件&#xff0c;并用他接管了你的laravel项目&#xff0c;那么接下来…

[html] 如何判断用户正在操作页面?当页面一个小时没有操作时跳转到指定页面如何做?

[html] 如何判断用户正在操作页面&#xff1f;当页面一个小时没有操作时跳转到指定页面如何做&#xff1f; 监听mousemove事件。当一段时间没有触发mousemove时&#xff0c;即认定用户没有操作页面个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&am…

Html5---可编辑的Contenteditable

Html5的新元素&#xff0c;使得表格的每个文本都是在网页中可编辑的&#xff0c;效果很好&#xff0c;很实用&#xff01; Chinese Name:moumouBirthday:1931.01.13English Name:momoCareer:SingerOther Name:testRepresentative works:Mr.Nationality:KoreaTeam:KARANation:Ko…

imagex使用方法_Microsoft OneDrive 的使用心得,真香

一、OneDrive 账号1. 免费用户只有5GB&#xff0c;这显然是不够的&#xff1b;2. 可以通过购买 Office 365 获得 1TB 空间&#xff1b;3. 可以通过教育邮箱获得免费 3-5TB 空间&#xff0c;这个是真香的方法&#xff0c;上大学期间现在学校基本都给学生edu邮箱&#xff0c;可以…

Refactoring

What Refacing&#xff1a; 重构&#xff08;Refactoring&#xff09;就是在不改变软件现有功能的基础上&#xff0c;通过调整程序代码改善软件的质量、性能&#xff0c;使其程序的设计模式和架构更趋合理&#xff0c;提高软件的扩展性和维护性。 经典的Refacing Definition&am…

编程之美-2.17-数组循环移位

1. 简述 设计一个算法&#xff0c;把一个含有N个元素的数组循环右移K位&#xff0c;要求时间复杂度为O(N)&#xff0c;且只允许使用两个附加变量。 2. 思路 其实看到题目中只允许两个附加变量应该也能想到&#xff0c;就是两个变量倒来倒去就行了。如果熟悉希尔排序的话&#x…

[html] 如何给页面添加追加右键菜单(原右键菜单功能保持不变)

[html] 如何给页面添加追加右键菜单&#xff08;原右键菜单功能保持不变&#xff09; 监听oncontextmenu&#xff0c;在系统右键菜单下追加自定义菜单个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 …

python写入excel特定区域_Python读取Excel中符合特定条件的数据,并写入新的表格中...

版权声明&#xff1a;本文为博主原创文章&#xff0c;遵循CC 4.0 BY-SA版权协议&#xff0c;转载请附上原文出处链接和本声明。 原始表格 代码#!/usr/bin/env python # -*- coding: utf-8 -*- # Time : 2019/3/20 21:24 # Author : cunyu # Site : cunyu1943.github.io # File …

swoole 协程channel乱测

channel和数组差不多&#xff0c;可以被用作队列&#xff0c;属性capacity是设置容量&#xff0c;isEmpty() isFull() 用来判断队列是空还是满&#xff0c;push()加入队列 pop()弹出队列 interface pusher {function push($data); } #require redisconn.php; class mypusher im…

Rails 3:提高Ajax应用速度

Rails 3&#xff1a;提高Ajax应用速度 http://developer.51cto.com 2011-05-18 09:45 Stefan Siebel 51CTO 我要评论(0)我建立了一个列表网站&#xff0c;ListKungFo&#xff0c;其中大量使用了Ajax&#xff0c;目前为止网站运行非常良好。而过去两周里&#xff0c;我一直在…

[html] websocket和socket有什么区别?

[html] websocket和socket有什么区别&#xff1f; 1.Socket 是传输控制层的接口。用户可以通过 Socket 来操作底层 TCP/IP 协议族通信。 2.WebSocket 是一个完整应用层协议。 3.Socket 更灵活&#xff0c;WebSocket 更易用。 4.两者都能做即时通讯个人简介 我是歌谣&#xff…

opencv支持python3吗_Python3.4+opencv3

1、安装Python 3.4 for Windows 好的这好像没有什么可以说的 2、下载OpenCV 3和Numpy(OpenCV依赖Numpy库) 大家在这里就出了问题。如果使用直接使用pip install pyopencv安装一定会出错。这里使用了Python界活雷锋封装的安装包&#xff0c;大家根据自己的系统下载&#xff1a; …

Python之浅谈运算符

目录 格式化输出的三种方式基本运算符流程控制格式化输出的三种方式 运算符的语义取决于其操作数的类型 第一种格式化方式&#xff08;3.0&#xff09; name Tim height 170 weight 120 print(My name is:%s,my height is:%s,my weight is:%s%{name,height,weight})第二种格…

[html] websocket和http有什么区别?

[html] websocket和http有什么区别&#xff1f; WebSocket是双向的&#xff0c;在客户端-服务器通信的场景中使用的全双工协议&#xff0c;与HTTP不同&#xff0c;它以ws://或wss://开头。 HTTP是单向的&#xff0c;客户端发送请求&#xff0c;服务器发送响应。个人简介 我是…

Socketpair 简介

socketpair - a slight generalization of pipes used for two-way stream communication. 以下内容来自&#xff1a;匠意雕码 http://my.oschina.net/zengsai/blog/12583 今天用了一个从没玩过的socket函数socketpair()&#xff0c;它的作用是在进程内创建一对sock连接。乍一看…