中软国际(宁波)实习第五天上午学习记录(主要内容:IDEA+Maven+SSM框架实现的登陆功能)

本文记述今天实习所学习的内容,主要是用IDEA+Maven+SSM框架实现的登陆功能,今天所学习的内容和上一篇博客的内容大部分重复。

使用的软件:

  • IntelliJ IDEA 2018.2.2 x64
  • jdk1.8
  • apache-tomcat-7.0.94
  • apache-maven-3.6.0
  • Webyog-SQLyog-Ultimate12.0.8.0
  • mysql-5.5.58-winx64

IDEA+Maven+SSM框架实现的登陆功能

创建项目:
中软国际(宁波)实习第五天上午学习记录(主要内容:IDEA+Maven+SSM框架实现的登陆功能)_第1张图片

填入组织名和项目名
中软国际(宁波)实习第五天上午学习记录(主要内容:IDEA+Maven+SSM框架实现的登陆功能)_第2张图片

完成创建
中软国际(宁波)实习第五天上午学习记录(主要内容:IDEA+Maven+SSM框架实现的登陆功能)_第3张图片

创建四个子模块
完成创建之后,接着创建四个子模块,分别为ssm_bean,ssm_dao,ssm_service,ssm_web,其实这四个模块就对应各个层。创建子模块的步骤如下:

右键选中ssm_parent项目,选中new->module
中软国际(宁波)实习第五天上午学习记录(主要内容:IDEA+Maven+SSM框架实现的登陆功能)_第4张图片

接下来的步骤和上面创建ssm_parent的步骤相似,只要改一下模块名即可。

四个模块中前三个可以按照这个步骤创建,最后一个有一些不同,步骤如下:
选中新建Module,要选中Create from archetype,并在列表中选择maven-archetype-webapp
中软国际(宁波)实习第五天上午学习记录(主要内容:IDEA+Maven+SSM框架实现的登陆功能)_第5张图片

接着填好模块名,选择next
中软国际(宁波)实习第五天上午学习记录(主要内容:IDEA+Maven+SSM框架实现的登陆功能)_第6张图片

接着选择自己的Maven版本和设置文件,并且在properties中新建name为archetypeCatalog,value为internal的property。
中软国际(宁波)实习第五天上午学习记录(主要内容:IDEA+Maven+SSM框架实现的登陆功能)_第7张图片

中软国际(宁波)实习第五天上午学习记录(主要内容:IDEA+Maven+SSM框架实现的登陆功能)_第8张图片

点击next后,选择finish完成创建。

创建实体类:

在ssm_bean模块下新建java目录和resources目录,前者标记为Sources Root,即右键选中目录Mark Directory as -》Sources Root。后者标记为Resources Root,即右键选中目录Mark Directory as -》Resources Root

中软国际(宁波)实习第五天上午学习记录(主要内容:IDEA+Maven+SSM框架实现的登陆功能)_第9张图片

中软国际(宁波)实习第五天上午学习记录(主要内容:IDEA+Maven+SSM框架实现的登陆功能)_第10张图片

在java目录内还要创建bean目录,并在其下创建实体类UserInfo,此类中需要有参数id、username、password,还有几个参数的get、set方法以及toString方法。
bean中文件结构如下。
中软国际(宁波)实习第五天上午学习记录(主要内容:IDEA+Maven+SSM框架实现的登陆功能)_第11张图片

配置pom.xml文件
接下来将ssm_parent目录下的pom.xml文件中的properties和libraries改为老师给的,前者用以配置数据库版本,后者用以引用jar包。
修改内容如下:


    UTF-8
    1.8
    1.8
    
    5.0.2.RELEASE
    
    3.2.6
    
    1.7.7
    1.2.17
    0.9.5.2
    1.1.2



    
    
        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.mchange
        c3p0
        ${c3p0.version}
    

    
        taglibs
        standard
        ${taglibs.version}
    

    
        org.slf4j
        slf4j-api
        ${slf4j.version}
    
    
        org.slf4j
        slf4j-log4j12
        ${slf4j.version}
    

    
    
        javax.servlet
        javax.servlet-api
        3.1.0
        provided
    
    
    
        javax.servlet.jsp
        javax.servlet.jsp-api
        2.3.1
        provided
    


实现dao操作
接着在ssm_dao子项目下的main目录下创建dao目录,在里面创建dao接口,在ssm_dao子项目下的resources目录下创建mapper目录,在里面创建UserMapper.xml文件,用来实现dao操作。
中软国际(宁波)实习第五天上午学习记录(主要内容:IDEA+Maven+SSM框架实现的登陆功能)_第12张图片

IUserDao中的内容为





    


UserMapper中的内容为





    


实现类UserService
接着在ssm_service中创建一个service接口IUserService,以及一个service接口的实现类UserService。
文件结构如下图:
中软国际(宁波)实习第五天上午学习记录(主要内容:IDEA+Maven+SSM框架实现的登陆功能)_第13张图片

IUserService内容如下

package abc.service;

import abc.bean.UserInfo;

import java.util.List;

public interface IUserService {
    public List findAll();

    public boolean doLogin(UserInfo userInfo);
}

UserService内容如下

package abc.service.Impl;

import abc.bean.UserInfo;
import abc.dao.IUserDao;
import abc.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserService implements IUserService {
    @Autowired
    private IUserDao userDao;

    @Override
    public List findAll() {
        return userDao.findAll();
    }

    @Override
    public boolean doLogin(UserInfo userInfo) {
        UserInfo userInfo1 = userDao.doLogin(userInfo);
        if(userInfo1!=null)
        {
            return true;
        }
        else
            return false;
    }
}

实现控制层
接下来在ssm_web子模块下新建UserController类,用来实现控制层。
中软国际(宁波)实习第五天上午学习记录(主要内容:IDEA+Maven+SSM框架实现的登陆功能)_第14张图片

UserController内容如下:

package abc.controller;

import abc.bean.UserInfo;
import abc.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import java.util.List;
@Controller
@RequestMapping("user")
public class UserController {
    @Autowired
    private IUserService userService;

    @RequestMapping("findAll.do")
    public ModelAndView findAll()
    {
        List infos=userService.findAll();

        ModelAndView mv = new ModelAndView();
        mv.addObject("infos",infos);
        mv.setViewName("user-list");
        return mv;

    }

    @RequestMapping("login.do")
    public ModelAndView dologin(UserInfo userInfo)
    {
        boolean flag=userService.doLogin(userInfo);
        ModelAndView modelAndView=new ModelAndView();

        if(flag)
        {
            modelAndView.setViewName("main");

        }
        else{
            modelAndView.setViewName("../failer");
        }
        return  modelAndView;
    }
}

配置网页文件:
接着在ssm_web目录下的webapp文件夹中粘贴css、img、pages文件夹(这个三个文件夹下的内容老师已经帮我们写好了),并且粘贴failer.jsp、index.jsp、login.jsp文件(老师已经帮我们写好)
中软国际(宁波)实习第五天上午学习记录(主要内容:IDEA+Maven+SSM框架实现的登陆功能)_第15张图片

配置其他文件
接下来在ssm_web目录下的resources文件夹中粘贴applicationContext.xml、db.properties、log4j.properties、spring-mvc.xml四个文件(老师已帮我们写好),并且修改一下db.properties中的一些数据库连接信息,还有applicationContext.xml和spring-mvc.xml中的一些适配自己项目的地方。
中软国际(宁波)实习第五天上午学习记录(主要内容:IDEA+Maven+SSM框架实现的登陆功能)_第16张图片

applicationContext.xml内容为:



    
    

    
    
        
        
        
        
        
        
    

    
    
        
        
        
        

        
        

    

    
    
    
        
        
        
        
    



    
    


    
    
    
        
    
    
    


db.properties:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/idea?useSSL=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=123

log4j.properties

# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

spring-mvc.xml




    
    

    
    
    

    
    
        
        
    

配置web.xml文件
接着修改ssm_web子模块中的WEB-INF目录下的web.xml文件,将里面的内容替换为老师所给的内容。
中软国际(宁波)实习第五天上午学习记录(主要内容:IDEA+Maven+SSM框架实现的登陆功能)_第17张图片

web.xml内容为:




  
  
    contextConfigLocation
    classpath*:applicationContext.xml
  

  
  
    org.springframework.web.context.ContextLoaderListener
  
  
    org.springframework.web.context.request.RequestContextListener
  

  
  
    characterEncodingFilter
    org.springframework.web.filter.CharacterEncodingFilter
    
      encoding
      UTF-8
    
  
  
    characterEncodingFilter
    /*
  

  
  
    dispatcherServlet
    org.springframework.web.servlet.DispatcherServlet
    
    
      contextConfigLocation
      classpath:spring-mvc.xml
    
    
    1
  
  
    dispatcherServlet
    *.do
  


然后在login.jsp文件中给登陆按钮配置函数执行路径,如下图
在这里插入图片描述

加载tomcat

选择菜单run-》edit configrations

中软国际(宁波)实习第五天上午学习记录(主要内容:IDEA+Maven+SSM框架实现的登陆功能)_第18张图片

在选择加号,并选择Tomcat Server-》local

中软国际(宁波)实习第五天上午学习记录(主要内容:IDEA+Maven+SSM框架实现的登陆功能)_第19张图片

在application中选择自己使用的tomcat版本
中软国际(宁波)实习第五天上午学习记录(主要内容:IDEA+Maven+SSM框架实现的登陆功能)_第20张图片

在Deployment中添加deploy:ssm_web:war exploded
中软国际(宁波)实习第五天上午学习记录(主要内容:IDEA+Maven+SSM框架实现的登陆功能)_第21张图片

选择OK,加载完成。

运行结果
中软国际(宁波)实习第五天上午学习记录(主要内容:IDEA+Maven+SSM框架实现的登陆功能)_第22张图片

登陆后

中软国际(宁波)实习第五天上午学习记录(主要内容:IDEA+Maven+SSM框架实现的登陆功能)_第23张图片

你可能感兴趣的:(中软国际(宁波)实习第五天上午学习记录(主要内容:IDEA+Maven+SSM框架实现的登陆功能))