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

day2021-10-15(ssm整合项目&maven)

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

day2021-10-15(ssm整合项目&maven)

1.3 答疑 1.3.1 数据库迁移,表不可访问
  • mysql数据库引擎配置:InnoDB、MyISAM等
    • MyISAM:生成数据库文件,Table.frm、Table.MYD、Table.MYI等,直接复制,可以直接使用。
    • InnoDB,默认引擎,生成数据库文件 Table.frm ,复制过来不能使用,需要一个目录文件 data/ibdata1
1.3.2 RESTFul返回值字符串乱码
package com.czxy.ssm.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.view.InternalResourceViewResolver;

import java.nio.charset.StandardCharsets;
import java.util.List;

@Configuration
@ComponentScan(basePackages="com.czxy.ssm.controller")
@EnableWebMvc
public class MvcConfiguration implements WebMvcConfigurer {

	@Override
	public void extendMessageConverters(List> converters) {
		converters.forEach(httpMessageConverter -> {
			// 处理字符串转换编码方式
			if(httpMessageConverter instanceof StringHttpMessageConverter) {
				StringHttpMessageConverter stringHttpMessageConverter = (StringHttpMessageConverter) httpMessageConverter;
				stringHttpMessageConverter.setDefaultCharset(StandardCharsets.UTF_8);
			}
			// 处理对象转换编码方式
			if(httpMessageConverter instanceof MappingJackson2HttpMessageConverter) {
				((MappingJackson2HttpMessageConverter) httpMessageConverter).setDefaultCharset(StandardCharsets.UTF_8);
			}
		});
	}
}

2. SSM整合案例: 2.1 删除 2.1.1 目标
  • 点击“删除” 连接,删除对应的数据
2.1.2 步骤
  • 步骤1:点击“删除”,询问“是否要删除?”

    • 确定:进行删除操作
    • 取消:没有任何操作
  • 步骤2:编写controller,获得需要删除的用户id

    /user/deleteUser?id=1234
    
  • 步骤3:编写service,通过id删除即可

2.1.3 实现
  • jsp :/WEB-INF/pages/list.jsp

    删除
    
  • controller

        
        @RequestMapping("/deleteUser")
        public String deleteUser(String id) {
            // 删除用户
            userService.delete(id);
            // 重定向列表页面
            return "redirect:/user/selectAll.action";
        }
    
  • service : 接口 + 实现类

        
        void delete(String id);
    
        @Override
        public void delete(String id) {
            userMapper.deleteByPrimaryKey(id);
        }
    
2.2 修改 2.2.1 目标
  • 修改用户信息
2.2.2 步骤

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tAojWTMq-1634547634763)(assets/image-20211015153827786.png)]

2.2.3 实现
  • jsp列表页:list.jsp

    修改
    
  • controller : preEdit

     
        @RequestMapping("/preEdit")
        public String preEdit(String id, Model model) {
            //1 查询详情
            User user = userService.selectById(id);
            //2 将结果存放model
            model.addAttribute("user", user);
            //3 请求转发到编辑页面
            return "edit";
        }
    
  • service : selectById

        
        User selectById(String id);
    
        @Override
        public User selectById(String id) {
            return userMapper.selectByPrimaryKey(id);
        }
    
  • edit.jsp 回显

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    
    
        Title
    
    
        <%--  错误信息   --%>
         ${msg}
    
        
    用户名:
    昵称:
  • controller: edit

     @RequestMapping("/edit")
        public String edit(User user, Model model) {
            try {
                // 进行修改
                boolean result = userService.update(user);
                if(result) {
                    // 修改成功 -- 重定向列表
                    return "redirect:/user/selectAll.action";
                } else {
                    // 失败 -- 编辑页面显示
                    model.addAttribute("msg", "更新失败");
                    return "edit";
                }
            } catch (Exception e) {
                model.addAttribute("msg", e.getMessage());
                return "edit";
            }
        }
    
  • service:edit

        
        boolean update(User user);
    
        @Override
        public boolean update(User user) {
            // 更新非空数据
            int update = userMapper.updateByPrimaryKeySelective(user);
            return update == 1;
        }
    
3. Maven 3.1 什么是Maven
  • maven 是管理项目的工具。
    • 项目各个阶段:清理、初始化、编译、测试、报告 、打包、部署、站点生成。
  • maven目前开发内容:
    • 依赖管理:维护jar包。
    • 测试
    • 打包
  • 核心思想:项目对象模型 (Project Object Model),每一个maven项目,都有一个pom.xml文件,进行项目管理。
3.2 仓库
  • 仓库分类:私有仓库、中央仓库、第三方仓库(远程)
    • 私有仓库:每个人本地仓库,方面离线操作。
    • 中央仓库:官方仓库,存放所有依赖。在国外。https://search.maven.org/
    • 第三方仓库:由非盈利机构搭建第三方私有仓库,对外提供依赖下载。
      • 阿里云
      • 华为云
3.3 maven环境搭建 3.3.1 下载
  • 版本:3.5.3 (3.3.9)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bOl1f6eZ-1634547634765)(assets/image-20211015165207081.png)]

3.3.2 安装
  • 将下载资源解压即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rurPhcEX-1634547634767)(assets/image-20211015165241742.png)]

3.3.3 配置:系统环境变量
  • 配置window 系统环境变量
    • MAVEN_HOME:
      • 内容:maven安装目录
      • 原因:方法其他环境变量使用、方便其他软件使用(idea)
    • path:
      • 内容:maven的bin目录(使用MAVEN_HOMN 确定安装目录)
      • 原因:在cmd可以使用maven命令。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ccNPmKso-1634547634769)(assets/image-20211015165401663.png)]

3.4 Maven使用 3.4.1 私有仓库配置
  • 私有仓库的根目录:D:Javamavenyycg_repository

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KUyqSRYY-1634547634770)(assets/image-20211015170218497.png)]

  • maven配置私有仓库 %MAVEN_HOME%/conf/settings.xml

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Pyub44TT-1634547634771)(assets/image-20211015170413277.png)]

3.4.2 配置镜像(第三方仓库,私服)
  • 配置 aliyun的镜像

        
          alimaven
          aliyun maven
          http://maven.aliyun.com/nexus/content/groups/public/
          central        
        
    

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uK7bwrh8-1634547634772)(assets/image-20211015170603382.png)]

3.5 IDEA 配置 3.5.1 IDEA 配置 maven
  • idea在安装时,自动使用 MAVEN_HOME 配置的 本地maven。

  • 如果没有识别,手动配置,采用通用配置 File/Settings/Maven...

    • 配置1:确定maven安装目录

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kXyAB6t1-1634547634772)(assets/image-20211015171903134.png)]

    • 配置2:更新本地仓库

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-be76yVk4-1634547634773)(assets/image-20211015172144102.png)]

3.5.2 新项目配置
  • 如果通用配置可以,建议使用通用。

  • 如果通用不可用,使用新项目配置。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kVzyaFCC-1634547634774)(assets/image-20211015172446366.png)]

3.5.3 配置失败,重新配置
  • 将idea配置信息删除(如果删除,相当于新安装的idea,包括激活码没有了。)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JlxG2hr1-1634547634774)(assets/image-20211015172730272.png)]

3.6 IDEA 中 maven使用 3.6.1 创建maven项目
  • 步骤1:选择maven,进行项目创建

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zP52OM7B-1634547634774)(assets/image-20211015174748101.png)]

  • 步骤2:填写项目详情

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QUPRTTBp-1634547634775)(assets/image-20211015175027597.png)]

  • 步骤3:开启自动导入

    • idea 2019 能够选择开启自动导入
    • idea 2020及其之后版本,必须手动操作

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z87yR5Xa-1634547634775)(assets/image-20211015175108410.png)]

3.6.2 基本使用
  • maven项目的生命周期命令的使用。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kUzxsXmP-1634547634776)(assets/image-20211015180237091.png)]

3.6.3 坐标
  • 坐标:在maven中每一个项目都一个唯一标识,这个标识称为坐标,也称为依赖 dependency 。

  • 坐标组成:组、标识、版本

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7StMaW5a-1634547634776)(assets/image-20211015180522298.png)]

  • 通过坐标完成的使用

    • 在maven项目中,通过坐标可以导入对应的jar包。
    • 可以在本地仓库中,通过坐标获得jar包具体的位置。
  • 使用坐标

    • 情况1:直接使用

          
              
                  junit
                  junit
                  4.9
              
          
      
    • 情况2:先锁定版本,再使用

          
          
              
                  
                      junit
                      junit
                      4.9
                  
              
          
      
          
          
              
                  junit
                  junit
              
          
      
      
    • 情况3:先定义版本,再锁定版本,最后使用

      	
          
              4.9
          
      
          
          
              
                  
                      junit
                      junit
                      ${junit.version}
                  
              
          
      
          
          
              
                  junit
                  junit
              
          
      

总结:ssm整合项目比较贴近真实业务流程,但还是有些繁琐和局限性,maven的出现改良了些许,但是只学了一半还没学如何使用,还需加强。

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

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

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