使用maven创建web项目,并且整合SSM框架

实习也快一个月了,本以为做的是C++方面,机缘巧合,还是回到了JAVA,并且接触到了SSM,自我感觉还是挺好用的,但为了预防遗忘,还是打算写一篇完整的教程。废话不多说,接下来我们就开始吧。


一.首先说说环境的搭建:

1.JDK的安装:根据自己的系统选择64或者32位,安装后配置好环境变量,并且通过cmd命令测试一下是否成功。

2.myeclispe的安装:安装过程基本都是下一步,不熟悉的话可以百度,这里提供一个破解版的网盘地址

链接:http://pan.baidu.com/s/1nv5JlFV 密码:gkaa        

3.myeclipse中配置JDK:windows--->preferences--->java--->installed JRES中直接add,找到自己jdk的安装路径,选择好OK就行。或者直接windows--->preferences,在上面的搜索框中直接搜索JDK,也可以立即找到。

4.tomcat7.0的安装:直接去apache官网下载就行

5.myeclipse中配置tomcat7.0:windows--->preferences,在上面的搜索框中直接搜索tomcat。找到下面出现的tomcat7.x,选择好自己的安装路径,并且将Disable改为enable,这样的话这个tomcat将会优先启动,比内置的tomcat效率高。

6.maven的安装:http://maven.apache.org/官网下载3.2.1版本,解压后就好。配置环境变量自行百度就好,怕敲起来少了点什么符号什么的就不好了,配置好后可以cmd命令mvn-version测试是否安装成功,出现版本信息则配置成功。

7.maven数据仓库的配置:首先找到maven安装包的路径,打开conf文件夹,打开settings.xml,找到localRepository去掉注释,并且修改成D:\Repository,同时D盘中建立相应的文件夹。当然,我们也可以将这个xml文件复制一份放在C盘用户中的.m2文件夹中。简单的说,当同时存在的时候,C盘那个xml会覆盖maven中的xml文件,但是我们可以修改C盘中的XML文件改成我们想要的样子。当然这里还涉及到一些其中的参数,先不提,感兴趣的可以去下面的网址:http://elim.iteye.com/blog/1827778

8.myeclipse集成maven:windows--->preferences,搜索maven,installations中添加自己安装包路径,然后在user Settings中设置路径:user Settings(open file):C:\Users\11316\.m2\settings.xml(个人有不同,具体看你的.m2文件路径),Local Repository (from merged user and global settings):D:/Repository。到时候下载的jar包将会保存在这个地址中。新建工程的时候选择other能看到maven project 就说明配置成功了。

9.SVN的安装:下载一个SVN的客户端,然后在Myeclipse中安装相应的插件,以前的话是直接在market里面下载,感觉效率不高。直接百度下载SVN-site-1.8.22,解压后将features,plugins两个包复制到myeclipse安装路径下的dropins包中即可。


二.环境搭建好了,接下来就是使用maven创建web项目了:

File--->new--->Project--->Maven Project--->{Advanced--->Name template中选择[artifactId]}(这一步的作用就是防止生成的项目名中总是包含maven webapp字段,强迫症.)--->Next--->选择maven-archetype-webapp--->Next

接下来出现的界面中:GroupID 是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。 (建议:com.公司名.工程名)
ArtifactID是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。 (建议直接项目名)

填好后完成。

你以为项目建好了就OK了,但没想到报错了。

先设置UTF-8防止乱码:右键项目propreties,选择ReSource,编码格式改为UTF-8,应用完成。

接下来解决项目目录不全的问题:因为在构建maven项目的时候,其默认的JDK版本是1.5的,而我安装的是1.8的,所以就会出现很多目录出现红叉,并且没有出现在我们的工程目录中。解决方法很简单:右键项目--->java build path--->选中j2SE-1.5,点击edit,选择workspace default JRE,也就是我们安装的JDK版本,点击完成,点击OK。我们会发现项目目录全了,不再缺省。

还没完...我们的index.jsp还报错呢。只需要在pom文件中引入这样一段依赖就行

  
          
            javax  
            javaee-api  
            7.0  
          


当然,还有一种方法:

第一步:选中项目点击右键,选择“Build Path”,选择“configure build path”。
第二步:点击Libraries选项卡,点击Add Library按钮
第三步:选择Myeclispe Server Library,接着选择tomcat7.0
第四步:点击Finish,这时候也会看到项目没有报错信息了!

其中应该都是给项目加上了相关的JAR包,建议选择第一种,因为方便......

当然,这里还有一步需要我们完成,那就是选择版本问题,现在不做的话到时候弄pom.xml的时候容易出错。

右键项目--->Properties--->搜索project facets,将Dynamic Web Module版本改为3.0,java改为1.7,勾选上JSTL标签(如果你打算尝试一下JSP页面的话,这个还是挺棒的),确定。



三.SSM的整合

1.配置pom.xml,引入jar包,直接扔源码,复制就好。

  
          
        4.0.2.RELEASE  
          
        3.2.6  
          
        1.7.7  
        1.2.17  
      
  
      
          
            junit  
            junit  
            4.11  
              
            test  
          
          
          
            org.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  
            ${mybatis.version}  
          
          
          
            org.mybatis  
            mybatis-spring  
            1.2.2  
          
          
          
            javax  
            javaee-api  
            7.0  
          
          
          
            mysql  
            mysql-connector-java  
            5.1.30  
          
          
          
            commons-dbcp  
            commons-dbcp  
            1.2.2  
          
          
          
            jstl  
            jstl  
            1.2  
          
          
          
          
            log4j  
            log4j  
            ${log4j.version}  
          
          
          
          
          
            com.alibaba  
            fastjson  
            1.1.41  
          
  
  
          
            org.slf4j  
            slf4j-api  
            ${slf4j.version}  
          
  
          
            org.slf4j  
            slf4j-log4j12  
            ${slf4j.version}  
          
          
          
          
            org.codehaus.jackson  
            jackson-mapper-asl  
            1.9.13  
          
          
          
            commons-fileupload  
            commons-fileupload  
            1.3.1  
          
          
            commons-io  
            commons-io  
            2.4  
          
          
            commons-codec  
            commons-codec  
            1.9  
          
          
          
      


  
  
 
    
      
        maven-compiler-plugin
        2.3.2
        
          1.7
          1.7
        
      
      
        maven-war-plugin
        2.2
        
          3.1
          false
        
      
    
  



上面的源码均放置在pom.xml的project标签中。稍微解释一下,标签中放置的是将要依赖的jar包的版本号,方便maven依赖标签动态获取版本号。标签中放置的当然是依赖的jar包啊,这个可以直接百度maven进入官网,要什么就找什么,直接copy依赖代码就好,当然,我感觉上面的源码应该是够用了。构建设置,其中主要有两种标签:Resources和Plugins。Resources:用于排除或包含某些资源文件。Plugins:设置构建的插件。先用着,以后有时间再研究。

对了,还有一点很重要的,那就是pom.xml配置好后,就开始下载jar包,但是由于一般这些访问的网址都是国外的,所以可能会特别慢。所以为了保持一个愉悦的心情,加快效率还是有必要的。因为maven是支持镜像的,所以我们可以在maven的conf文件夹下的setting.xml文件中找到标签,并且加上阿里云的镜像。(如果跟我一样复制过settings.xml到m2下面的话,就直接在m2下面的xml中修改。)

  
 alimaven  
 central  
 aliyun maven  
 http://maven.aliyun.com/nexus/content/repositories/central/  
  

2.pom.xml引入的jar包加载好了以后,在src/main/resources中新建jdbc.properties文件,配置如下:


driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/数据库名字(如果连接别人的数据库,只需要把localhost:3306换成别人的ip或者主机名应该就行,前提是别人允许你远程连接)
username=账号,一般都是root
password=密码
initialSize=0   #定义初始连接数
maxActive=20  #定义最大连接数
maxIdle=20     #定义最大空闲
minIdle=1      #定义最小空闲  
maxWait=60000  #定义最长等待时间


算了,如何允许别人的连接自己数据库的方法也记录一下。假设B要连接A的数据库,首先B需要win+R,输入cmd,输入命令行ipconfig,找到其以太网适配器以太网的那个ip地址,复制发给A。A打开其navicat(用的是mysql数据库),接下来直接贴网址好了:http://blog.csdn.net/qq_32357509/article/details/53048053。


3.在src/main/resources中新建spring-mybatis.xml文件,配置如下:

  
  
      
      
      
      
          
      
  
      
          
          
          
          
          
          
          
          
          
          
          
          
          
          
      
  
      
      
          
          
          
      
  
      
      
          
          
      
  
      
      
          
      
  

这部分没有什么好说的,规范的话还是希望包名全部小写。

4.在src/main/resources中新建log4j.properties文件,配置如下:

#定义LOG输出级别  
log4j.rootLogger=INFO,Console,File  
#定义日志输出目的地为控制台  
log4j.appender.Console=org.apache.log4j.ConsoleAppender  
log4j.appender.Console.Target=System.out  
#可以灵活地指定日志输出格式,下面一行是指定具体的格式  
log4j.appender.Console.layout = org.apache.log4j.PatternLayout  
log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n  
  
#文件大小到达指定尺寸的时候产生一个新的文件  
log4j.appender.File = org.apache.log4j.RollingFileAppender  
#指定输出目录  
log4j.appender.File.File = logs/ssm.log  
#定义文件最大大小  
log4j.appender.File.MaxFileSize = 10MB  
# 输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志  
log4j.appender.File.Threshold = ALL  
log4j.appender.File.layout = org.apache.log4j.PatternLayout  
log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n  

没什么好说的,copy,copy就好,反正我也是copy过来的,一般来说改动不大。

5.在src/main/resources中新建spring-mvc.xml文件,配置如下:

  
  
      
      
      
      
          
              
                text/html;charset=UTF-8  
              
          
      
      
      
          
              
                   
              
          
      
      
      
          
          
          
      
      
      
        
          
            
          
            
          
            
       
  

6.接下来就是配置web.xml了:

  
  
    Archetype Created Web Application  
      
      
        contextConfigLocation  
        classpath:spring-mybatis.xml  
     
    
     
     
      
      
        encodingFilter  
        org.springframework.web.filter.CharacterEncodingFilter  
        true  
          
            encoding  
            UTF-8  
          
      
      
        encodingFilter  
        /*  
      
      
      
        org.springframework.web.context.ContextLoaderListener  
      
      
      
        org.springframework.web.util.IntrospectorCleanupListener  
      
  
      
      
        SpringMVC  
        org.springframework.web.servlet.DispatcherServlet  
          
            contextConfigLocation  
            classpath:spring-mvc.xml  
          
        1  
        true  
      
      
        SpringMVC  
          
        /  
      
      
        /index.jsp  
      
  
  
  
    60
     
    
    
       
        default    
        *.jpg    
        
  
       
        default   
        *.gif   
        
      
       
        default   
        *.css   
    
           
        default   
        *.js   
    
       
        default   
        *.html   
    
           
        default   
        *.ttf   
    
       
        default   
        *.woff   
    
               
        default   
        *.png   
    

       
        default   
        *.jpeg   
    
    
  

原文地址,感谢:http://blog.csdn.net/zhshulin

四.接下来先来测试一下我们搭建的SSM框架是否有效

1.建数据库test,建数据表user,如图所示

使用maven创建web项目,并且整合SSM框架_第1张图片


2.建立项目结构如下图

使用maven创建web项目,并且整合SSM框架_第2张图片使用maven创建web项目,并且整合SSM框架_第3张图片

3.User类

package com.company.project.entity;

public class User {

	private String user_id;
	private String user_name;
	private String user_password;
	private String user_info;
	private String role;
	public String getUser_id() {
		return user_id;
	}
	public void setUser_id(String user_id) {
		this.user_id = user_id;
	}
	public String getUser_name() {
		return user_name;
	}
	public void setUser_name(String user_name) {
		this.user_name = user_name;
	}
	public String getUser_password() {
		return user_password;
	}
	public void setUser_password(String user_password) {
		this.user_password = user_password;
	}
	public String getUser_info() {
		return user_info;
	}
	public void setUser_info(String user_info) {
		this.user_info = user_info;
	}
	public String getRole() {
		return role;
	}
	public void setRole(String role) {
		this.role = role;
	}
	public User() {
		super();
	}
	public User(String user_id, String user_name, String user_password,
			String user_info, String role) {
		super();
		this.user_id = user_id;
		this.user_name = user_name;
		this.user_password = user_password;
		this.user_info = user_info;
		this.role = role;
	}
	@Override
	public String toString() {
		return "User [user_id=" + user_id + ", user_name=" + user_name
				+ ", user_password=" + user_password + ", user_info="
				+ user_info + ", role=" + role + "]";
	}
}


4.UserDao

package com.company.project.dao;

import org.apache.ibatis.annotations.Param;

import com.company.project.entity.User;

public interface UserDao {

	//根据用户名,密码进行登录
	public User login(@Param(value="user_name")String user_name,@Param(value="user_password")String user_password);
}


5.UserMapper






	




6.UserService

package com.company.project.service;

import com.company.project.entity.User;

public interface UserService {

	//登陆
	public User login(String user_name,String user_password);
}


7.UserServiceImp

package com.company.project.serviceImp;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.company.project.dao.UserDao;
import com.company.project.entity.User;
import com.company.project.service.UserService;

@Service("userService")
public class UserServiceImp implements UserService{

	@Resource
	private UserDao userDao;

	@Override
	public User login(String user_name, String user_password) {
		return userDao.login(user_name, user_password);
	}
}


8.UserController

package com.company.project.controller;

import javax.annotation.Resource;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import com.company.project.service.UserService;

@Controller
@RequestMapping("/user")
public class UserController {

	@Resource
	private UserService userService;
	
	//登录
	@RequestMapping(value="/login",method = RequestMethod.POST)
	@ResponseBody
	public String login(String user_name, String user_password)
	{
		if(userService.login(user_name, user_password)!=null)
		{
			return "OK";
		}

		return "ERROR";
	}
}


9.login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>



  
    
 
    My JSP 'login.jsp' starting page
    
	
	
	    
	
	
	
	
  
  
  
    
用户名:
密码:

*****使用$符必须先加载JQ文件,感觉自己应该好好学习一下相关知识了.


10.success.jsp

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>



  
    
    
    My JSP 'success.jsp' starting page
    
	
	
	    
	
	
	

  
  
  
    SUCCESS page. 


写好之后,直接运行程序,输入正确的用户名和密码登陆,如果正确跳转到成功页面,那么SSM框架也就意味着搭建好了。如果失败了,那就debug...

使用maven创建web项目,并且整合SSM框架_第4张图片使用maven创建web项目,并且整合SSM框架_第5张图片


本来还想总结一下使用mybatis的一些知识点,感觉今天太晚了,明天再写,顺便加入SVN和shiro的安全控制...

你可能感兴趣的:(JAVA)