栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

(特详细)使用eclipse+maven搭建ssm框架

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

(特详细)使用eclipse+maven搭建ssm框架

使用eclipse+maven搭建ssm框架 - 简书事先准备好系统环境 Window 10 JDK1.8 Eclipse Java EE IDE for Web Developers(Version: Neon Release...https://www.jianshu.com/p/f3c582edca2b 事先准备好系统环境

Window 10JDK1.8Eclipse Java EE IDE for Web Developers(Version: Neon Release (4.6.0))Tomcat8.5Maven3.6
关于环境配置请参考我的其他文章
JavaEE开发环境搭建(基于Eclipse)JavaEE开发环境搭建(基于Eclipse) - 简书
如何使用Eclipse创建Maven工程如何使用Eclipse创建Maven工程 - 简书 使用maven创建SSM框架

    选择Maven Project

     

    选择默认工作空间位置

     

    选择web类型

     

    填写GroupID、ArtifactID
    Group ID:相当于一个组织
    Artifact ID:相当于这个组织下的一个具体项目
    Packege:根据Group ID和Artifact ID生成一个默认的名称

     

    创建出的maven项目如下图

     

     

    提示错误:

     


    解决办法:在eclipse中设置Server为Tomcat,注意JRE设置为安装的JDK的jre

     

    在工程上右键,查看工程属性,找到Java Build Path,添加Server Runtime为Tomcat

     

     


    点击Finish后,项目工程变成下图

    在项目上点击右键,查看项目信息


    默认的Dynamic Web Module为2.3,使用Tomcat 8.5,需要修改为3.1
    修改方法:
    ① maven工程所在目录有个.settings文件夹(默认隐藏)下面有个文件org.eclipse.wst.common.project.facet.core.xml


    将内容改为:



  
  
  
  

② maven工程下的web.xml文件修改为




③ pom.xml文件中修改build节点,添加如下内容


       
              org.apache.maven.plugins
              maven-compiler-plugin
              
                     1.8
                     1.8
              
       

④ 修改后,在项目上右键,找到Maven属性下的Update Project,点击之

⑤ 选择该项目进行更新,如果怕不能强制更新,可以勾选Force Update of Snapshots/Releases
⑥ 点击OK后更新maven项目,再观察项目属性,Module已经变为3.1

下载ssm框架所需的jar包

修改pom.xml内容为


    4.0.0
    com.huyonghua
    ssm
    war
    0.0.1-SNAPSHOT
    ssm Maven Webapp
    http://maven.apache.org
    
        
        4.3.8.RELEASE
    
    
        
        
            javax.servlet
            javax.servlet-api
            3.1.0
            provided
        
        
        
            javax.servlet.jsp
            javax.servlet.jsp-api
            2.3.1
            provided
        

        
        
            javax.servlet
            jstl
            1.2
        

        
        
            org.springframework
            spring-core
            ${spring.version}
        
        
            org.springframework
            spring-aop
            ${spring.version}
        
        
            org.springframework
            spring-web
            ${spring.version}
        
        
            org.springframework
            spring-webmvc
            ${spring.version}
        
        
            org.springframework
            spring-jdbc
            ${spring.version}
        
        
            org.springframework
            spring-tx
            ${spring.version}
        

        
        
            org.aspectj
            aspectjrt
            1.8.0
        
        
            org.aspectj
            aspectjweaver
            1.8.0
        

        
        
            org.mybatis
            mybatis
            3.3.0
        
        
        
            mysql
            mysql-connector-java
            5.1.26
        
        
        
            com.alibaba
            druid
            1.0.20
        

        
        
            org.mybatis
            mybatis-spring
            1.2.3
        

        
        
            log4j
            log4j
            1.2.17
        
        
            org.slf4j
            slf4j-api
            1.7.21
        

        
        
            junit
            junit
            3.8.1
            test
        
    
    
        ssm
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                
                    1.8
                    1.8
                
            
        
    

保存后,可以看到相关jar包被下载至本地仓库

完善项目结构

因为服务端maven项目的标准结构有四个子包:src/main/java、src/main/resources、src/test/java、src/test/resources,这里缺少了src/test/resources,所以手动补上。
在项目中新建Source Folder

创建src/test/resoures目录后,工程如下图所示


右键查看项目属性,点击Deployment Assembly,移除test和target

Web Deployment Assembly是eclipse中的发布路径设置,DeployPath表示每个资源发布之后的文件路径。eclipse中使用tomcat使用启动web项目的流程是 java build path编译项目源代码生成的class文件放到buildpath的设置路径中,根据web deployment assembly将项目中的各个资源发布到设置的指定文件中

框架测试

    创建项目中用的配置文件

     

log4j.properties

#USE THIS SETTING FOR OUTPUT MYBATIS`s SQL ON THE ConSOLE
log4j.rootLogger=DEBUG, Console

#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n

log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

srping-core.xml




    
    

    
    
        
    
    
    
    
        
            
            
            
            
        
    
    
    
    
        
        
    

        
    
    
        
    

spring-mvc.xml




    
    

    
    

    
    

    
    
        
        
    

spring-mybatis.xml




    
    
    
        
        
        
    

    
    
        
        
        


    

UserService.java

package com.huyonghua.service;

import com.huyonghua.domain.User;

public interface UserService {
    public User findUserByName(String name);
}

UserServiceImpl.java

package com.huyonghua.service.impl;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.huyonghua.dao.UserDao;
import com.huyonghua.domain.User;
import com.huyonghua.service.UserService;

@Service
@Transactional
public class UserServiceImpl implements UserService{

    @Autowired
    private UserDao userDao;
    @Override
    public User findUserByName(String name) {
        // TODO Auto-generated method stub
        return this.userDao.findByUsername(name);
    }
}

UserController.java

package com.huyonghua.web;


import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

import com.huyonghua.domain.User;
import com.huyonghua.service.UserService;


@Controller
@RequestMapping(value = "/user")
public class UserController {
    @Autowired
    private UserService userService;

    @RequestMapping(value = "/login", method = RequestMethod.POST)
    public ModelAndView login(User model, HttpSession session) {
        User user = userService.findUserByName(model.getUsername());

        if (user == null || !user.getPassword().equals(model.getPassword())) {
            return new ModelAndView("redirect:/login.jsp");
        } else {
            session.setAttribute("user", user);
            ModelAndView mav = new ModelAndView();
            mav.setViewName("index");
            return mav;
        }
    }
}

    编写客户端代码

     

     

    login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>




登录




index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>




主页


欢迎,${user.username }


    发布项目到tomcat
    右键项目-->run as-->run on server

     

     

本文源码已发布到我的github仓库,欢迎大家Fork and Star!

git@github.com:goldfather008/ssm.git

问题

tomcat运行报错。The Tomcat server configuration at ServersTomcat v7.0 Server at localhost-config is missing. Check the server for errors.
原因:可能不小心删除了Project Explorer下的Server
解决办法:Window-Preferences-Server-Server Runtime Environments重新关联就可以了

查询数据库时发现报错Invalid bound statement (not found)
原因:mybaits的配置文件与接口调用没有对应,一般情况是Mapepr.xml文件中nameapce没有和mapper接口发生映射,导致mybatis绑定失败,检查是否正确配置映射

tomcat在eclipse里面能正常启动,而在浏览器中访问http://localhost:8080/不能访问,且报404错误。同时其他项目页面也不能访问。
关闭eclipse里面的tomcat,在tomcat安装目录下双击startup.bat手动启动tomcat服务器。访问http://localhost:8080/能正常访问tomcat管理页面。
原因:eclipse将tomcat的项目发布目录(tomcat 目录中的webapp)重定向了,所以你会发现在tomcat安装目录下的webapp目录里面找不到你的项目文件。
解决办法:重新配置下tomcat服务器:
在eclipse中的server页面,双击tomcat服务,会看到如图所示的配置页面:

可以看到红圈中选择的是 Use workspace metadata(does not modify Tomcat installion)
如果该tomcat中部署了项目的话,这红圈中的选项会灰掉不能修改,要修改必须得先把tomcat中的部署的服务都移除。

通过右键单击tomcat服务器选择 Add and Remove,在弹出的对话框中移除已部署的项目。移除完确定后,将看到上面的选项面板部分可编辑了。
选择Use tomcat installation(Task control of Tomcat installation) 即选择tomcat的安装目录来作为项目的发布目录。
然后,下来四行,看到"Deploy Path"了没?它后面的值默认是"wtpwebapps",把它改成"webapps",也就是tomcat
中发布项目所在的文件夹名字。
修改后关掉该页面,保存配置。这样就将项目部署到了tomcat安装目录下的webapp

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/785598.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号