当前位置: 首页 > news >正文

java能做网站开发么世界杯竞猜

java能做网站开发么,世界杯竞猜,各种管理系统,怎么建立微网站?注:此为笔者学习狂神说SpringMVC的笔记,其中包含个人的笔记和理解,仅做学习笔记之用,更多详细资讯请出门左拐B站:狂神说!!! 10、ssm整合 问了一下ChatGPT SSM 是一个基于 Java 的开发框架整合,由 Spring、…

注:此为笔者学习狂神说SpringMVC的笔记,其中包含个人的笔记和理解,仅做学习笔记之用,更多详细资讯请出门左拐B站:狂神说!!!

10、ssm整合

问了一下ChatGPT
SSM 是一个基于 Java 的开发框架整合,由 Spring、Spring MVC 和 MyBatis 三个开源框架组成。每个框架都有不同的职责和作用,通过整合,可以发挥各自的优势,形成一个完整的、高效的 Java 开发框架。

下面简要解释一下 SSM 各个组成部分的作用:

  1. Spring:
    • 作用: 提供了一个轻量级的 IoC(控制反转)容器,用于管理应用组件的生命周期和配置。
    • IoC容器: 负责创建对象、管理对象的依赖关系,实现了对象的松耦合。
    • AOP(面向切面编程): 提供了面向切面编程的支持,可以方便地实现事务管理、日志记录等横切关注点。
  2. Spring MVC:
    • 作用: 是一个基于 MVC 模式的 Web 框架,用于构建 Web 层的应用程序。
    • 控制器层: 通过控制器(Controller)处理用户请求,将请求映射到相应的业务逻辑处理方法。
    • 模型层: 通过模型(Model)将数据传递到视图层,与业务逻辑进行交互。
    • 视图层: 通过视图(View)负责渲染页面,呈现给用户。
  3. MyBatis:
    • 作用: 是一个持久层框架,用于简化数据库操作和 SQL 查询的编写。
    • ORM(对象关系映射): 将数据库表映射为 Java 对象,通过配置文件或注解实现对象与数据库表之间的映射关系。
    • SQL映射: 提供了 XML 文件或注解的方式定义 SQL 查询,可以更灵活地进行数据库操作。
    • 缓存: 支持缓存机制,提高数据库查询性能。

综合起来,SSM 框架整合了 Spring 的 IoC 和 AOP 特性,Spring MVC 的 Web 层框架,以及 MyBatis 的持久层框架,使得开发者能够更方便地进行企业级 Java 应用的开发。通过配置文件和注解,可以实现各层之间的松耦合,提高代码的可维护性和可扩展性。整合后,Spring 处理业务逻辑和控制反转,Spring MVC 处理 Web 层,MyBatis 处理数据库交互,形成一个完整的、分层清晰的应用架构。
在这里插入图片描述

1、环境要求

环境:

  • IDEA
  • MySQL 5.7.19
  • Tomcat 9
  • Maven 3.6

要求:

  • 需要熟练掌握MySQL数据库,Spring,JavaWeb及MyBatis知识,简单的前端知识;

2、数据库环境

创建一个存放书籍数据的数据库表

CREATE DATABASE `ssmbuild`;USE `ssmbuild`;DROP TABLE IF EXISTS `books`;CREATE TABLE `books` (
`bookID` INT(10) NOT NULL AUTO_INCREMENT COMMENT '书id',
`bookName` VARCHAR(100) NOT NULL COMMENT '书名',
`bookCounts` INT(11) NOT NULL COMMENT '数量',
`detail` VARCHAR(200) NOT NULL COMMENT '描述',
KEY `bookID` (`bookID`)
) ENGINE=INNODB DEFAULT CHARSET=utf8INSERT  INTO `books`(`bookID`,`bookName`,`bookCounts`,`detail`)VALUES
(1,'Java',1,'从入门到放弃'),
(2,'MySQL',10,'从删库到跑路'),
(3,'Linux',5,'从进门到进牢');

3、基本环境搭建

1、新建一Maven项目!ssmbuild , 添加web的支持
2、导入相关的pom依赖!

在这里插入图片描述

<dependencies><!--Junit--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency><!--数据库驱动--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependency><!-- 数据库连接池 --><dependency><groupId>com.mchange</groupId><artifactId>c3p0</artifactId><version>0.9.5.2</version></dependency><!--Servlet - JSP --><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.2</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><!--Mybatis--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.2</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.0.2</version></dependency><!--Spring--><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.1.9.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.1.9.RELEASE</version></dependency>
</dependencies>
3、Maven资源过滤设置

在这里插入图片描述

<build><resources><resource><directory>src/main/java</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource><resource><directory>src/main/resources</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource></resources>
</build>
4、建立基本结构和配置框架!
  • com.kuang.pojo

在这里插入图片描述

  • com.kuang.dao

在这里插入图片描述

声明扫描xml文件,将xml和mapper绑定起来

在这里插入图片描述

  • com.kuang.service

在这里插入图片描述

在这里插入图片描述

  • com.kuang.controller
  • mybatis-config.xml

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration></configuration>
  • applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"></beans>

5、Mybatis层编写

1、数据库配置文件 database.properties

在这里插入图片描述

2、IDEA关联数据库

3、编写MyBatis的核心配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><typeAliases><package name="com.kuang.pojo"/></typeAliases><mappers><mapper resource="com/kuang/dao/BookMapper.xml"/></mappers></configuration>

4、编写数据库对应的实体类 com.kuang.pojo.Books

使用lombok插件!

package com.kuang.pojo;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@AllArgsConstructor
@NoArgsConstructor
public class Books {private int bookID;private String bookName;private int bookCounts;private String detail;}

5、编写Dao层的 Mapper接口!

package com.kuang.dao;import com.kuang.pojo.Books;
import java.util.List;public interface BookMapper {//增加一个Bookint addBook(Books book);//根据id删除一个Bookint deleteBookById(int id);//更新Bookint updateBook(Books books);//根据id查询,返回一个BookBooks queryBookById(int id);//查询全部Book,返回list集合List<Books> queryAllBook();}

6、编写接口对应的 Mapper.xml 文件。需要导入MyBatis的包

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.kuang.dao.BookMapper"><!--增加一个Book--><insert id="addBook" parameterType="Books">insert into ssmbuild.books(bookName,bookCounts,detail)values (#{bookName}, #{bookCounts}, #{detail})</insert><!--根据id删除一个Book--><delete id="deleteBookById" parameterType="int">delete from ssmbuild.books where bookID=#{bookID}</delete><!--更新Book--><update id="updateBook" parameterType="Books">update ssmbuild.booksset bookName = #{bookName},bookCounts = #{bookCounts},detail = #{detail}where bookID = #{bookID}</update><!--根据id查询,返回一个Book--><select id="queryBookById" resultType="Books">select * from ssmbuild.bookswhere bookID = #{bookID}</select><!--查询全部Book--><select id="queryAllBook" resultType="Books">SELECT * from ssmbuild.books</select></mapper>

7、编写Service层的接口和实现类

接口:

package com.kuang.service;import com.kuang.pojo.Books;import java.util.List;//BookService:底下需要去实现,调用dao层
public interface BookService {//增加一个Bookint addBook(Books book);//根据id删除一个Bookint deleteBookById(int id);//更新Bookint updateBook(Books books);//根据id查询,返回一个BookBooks queryBookById(int id);//查询全部Book,返回list集合List<Books> queryAllBook();
}

实现类:

package com.kuang.service;import com.kuang.dao.BookMapper;
import com.kuang.pojo.Books;
import java.util.List;public class BookServiceImpl implements BookService {//调用dao层的操作,设置一个set接口,方便Spring管理private BookMapper bookMapper;public void setBookMapper(BookMapper bookMapper) {this.bookMapper = bookMapper;}public int addBook(Books book) {return bookMapper.addBook(book);}public int deleteBookById(int id) {return bookMapper.deleteBookById(id);}public int updateBook(Books books) {return bookMapper.updateBook(books);}public Books queryBookById(int id) {return bookMapper.queryBookById(id);}public List<Books> queryAllBook() {return bookMapper.queryAllBook();}
}

6、Spring层

1、配置Spring整合MyBatis,我们这里数据源使用c3p0连接池;

2、我们去编写Spring整合Mybatis的相关的配置文件;spring-dao.xml

在这里插入图片描述

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttps://www.springframework.org/schema/context/spring-context.xsd"><!-- 配置整合mybatis --><!-- 1.关联数据库文件 --><context:property-placeholder location="classpath:database.properties"/><!-- 2.数据库连接池 --><!--数据库连接池dbcp 半自动化操作 不能自动连接c3p0 自动化操作(自动的加载配置文件 并且设置到对象里面)--><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><!-- 配置连接池属性 --><property name="driverClass" value="${jdbc.driver}"/><property name="jdbcUrl" value="${jdbc.url}"/><property name="user" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/><!-- c3p0连接池的私有属性 --><property name="maxPoolSize" value="30"/><property name="minPoolSize" value="10"/><!-- 关闭连接后不自动commit --><property name="autoCommitOnClose" value="false"/><!-- 获取连接超时时间 --><property name="checkoutTimeout" value="10000"/><!-- 当获取连接失败重试次数 --><property name="acquireRetryAttempts" value="2"/></bean><!-- 3.配置SqlSessionFactory对象 --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!-- 注入数据库连接池 --><property name="dataSource" ref="dataSource"/><!-- 配置MyBaties全局配置文件:mybatis-config.xml --><property name="configLocation" value="classpath:mybatis-config.xml"/></bean><!-- 4.配置扫描Dao接口包,动态实现Dao接口注入到spring容器中 --><!--解释 :https://www.cnblogs.com/jpfss/p/7799806.html--><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!-- 注入sqlSessionFactory --><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/><!-- 给出需要扫描Dao接口包 --><property name="basePackage" value="com.kuang.dao"/></bean></beans>

3、Spring整合service层

在这里插入图片描述

理解applicationContext.xml、spring-dao、spring-service这些配置文件的关系,和融合起来的起的作用,或者直接让spring托管就可以了

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><!-- 扫描service相关的bean --><context:component-scan base-package="com.kuang.service" /><!--BookServiceImpl注入到IOC容器中--><bean id="BookServiceImpl" class="com.kuang.service.BookServiceImpl"><property name="bookMapper" ref="bookMapper"/></bean><!-- 配置事务管理器 --><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><!-- 注入数据库连接池 --><property name="dataSource" ref="dataSource" /></bean></beans>

7、SpringMVC层

1、web.xml

spring-mvc.xml

在这里插入图片描述

dao层、service层、mvc层整合起来

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><import resource="spring-dao.xml"/><import resource="spring-service.xml"/><import resource="spring-mvc.xml"/></beans>

springmvc层的所有的请求都被这个dispatchServlet核心分发器接管了

在这里插入图片描述

有错误的:dispatchServlet绑定核心配置文件的时候,只绑定了mvc层的配置文件,dao、service层的没有绑定起来,应该改为三层:mvc层、dao、service层都绑定给applicationContext.xml,交由spring托管的applicationContext.xml,才算把所有的bean都注入spring统一托管

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><!--DispatcherServlet--><servlet><servlet-name>DispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><!--一定要注意:我们这里加载的是总的配置文件,之前被这里坑了!-->  <param-value>classpath:applicationContext.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>DispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping><!--encodingFilter--><filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!--Session过期时间--><session-config><session-timeout>15</session-timeout></session-config></web-app>

2、spring-mvc.xml

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttps://www.springframework.org/schema/mvc/spring-mvc.xsd"><!-- 配置SpringMVC --><!-- 1.开启SpringMVC注解驱动 --><mvc:annotation-driven /><!-- 2.静态资源默认servlet配置--><mvc:default-servlet-handler/><!-- 3.配置jsp 显示ViewResolver视图解析器 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /><property name="prefix" value="/WEB-INF/jsp/" /><property name="suffix" value=".jsp" /></bean><!-- 4.扫描web相关的bean --><context:component-scan base-package="com.kuang.controller" /></beans>

小结1

dao层、service层、mvc层这三个框架都是通过spring整合到一起的,这些都是框架的底层,以后写轻量级项目的基础,一定要保留下来

8、Controller 和 视图层编写

1、BookController 类编写 , 方法一:查询全部书籍

在这里插入图片描述

简易的的jsp页面,先测试跳转成功与否,再往下做

在这里插入图片描述

首页使用绝对地址

在这里插入图片描述

2、排除bean注入的错误

在这里插入图片描述

思路:

在这里插入图片描述

①使用单元测试底层能否查出bean是否注入的问题

在这里插入图片描述

结果是可以的,因为底层applicationContext.xml把三层:dao层、service层、mvc层都注入绑定在一起了,所以说明底层没有事,是springmvc整合出的问题

在这里插入图片描述

由于springmvc整合applicationContext出了问题,所以applicationContext整合三层也会出现bean没法注入的问题

②真正原因:springmvc整合applicationContext出了问题

在这里插入图片描述

有错误的:dispatchServlet绑定核心上下文配置文件的时候,只绑定了mvc层的配置文件,dao、service层的没有绑定起来,应该改为applicationContext.xml,因为三层:mvc层、dao、service层都绑定给applicationContext.xml,交由spring托管的applicationContext.xml,才算把所有的bean都注入spring统一托管

修改过来即可

在这里插入图片描述

结果:

在这里插入图片描述

小结2

从以上错误中,理解spring是如何通过绑定applicationContext.xml(绑定了三层:mvc层、dao、service层),来托管三层的,管理和注入bean的

3.编写首页 index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE HTML>
<html>
<head><title>首页</title><style type="text/css">a {text-decoration: none;color: black;font-size: 18px;}h3 {width: 180px;height: 38px;margin: 100px auto;text-align: center;line-height: 38px;background: deepskyblue;border-radius: 4px;}</style>
</head>
<body><h3><a href="${pageContext.request.contextPath}/book/allBook">点击进入列表页</a>
</h3>
</body>
</html>
4、 书籍列表页面 allbook.jsp

在这里插入图片描述

在这里插入图片描述

效果:

在这里插入图片描述

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>书籍列表</title><meta name="viewport" content="width=device-width, initial-scale=1.0"><!-- 引入 Bootstrap --><link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
</head>
<body><div class="container"><div class="row clearfix"><div class="col-md-12 column"><div class="page-header"><h1><small>书籍列表 —— 显示所有书籍</small></h1></div></div></div><div class="row"><div class="col-md-4 column"><a class="btn btn-primary" href="${pageContext.request.contextPath}/book/toAddBook">新增</a></div></div><div class="row clearfix"><div class="col-md-12 column"><table class="table table-hover table-striped"><thead><tr><th>书籍编号</th><th>书籍名字</th><th>书籍数量</th><th>书籍详情</th><th>操作</th></tr></thead><tbody><c:forEach var="book" items="${requestScope.get('list')}"><tr><td>${book.getBookID()}</td><td>${book.getBookName()}</td><td>${book.getBookCounts()}</td><td>${book.getDetail()}</td><td><a href="${pageContext.request.contextPath}/book/toUpdateBook?id=${book.getBookID()}">更改</a> |<a href="${pageContext.request.contextPath}/book/del/${book.getBookID()}">删除</a></td></tr></c:forEach></tbody></table></div></div>
</div>
5、BookController 类编写 , 方法二:添加书籍
@RequestMapping("/toAddBook")
public String toAddPaper() {return "addBook";
}@RequestMapping("/addBook")
public String addPaper(Books books) {System.out.println(books);bookService.addBook(books);return "redirect:/book/allBook";
}
6、 添加书籍页面:addBook.jsp

在这里插入图片描述

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %><html>
<head><title>新增书籍</title><meta name="viewport" content="width=device-width, initial-scale=1.0"><!-- 引入 Bootstrap --><link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container"><div class="row clearfix"><div class="col-md-12 column"><div class="page-header"><h1><small>新增书籍</small></h1></div></div></div><form action="${pageContext.request.contextPath}/book/addBook" method="post">书籍名称:<input type="text" name="bookName"><br><br><br>书籍数量:<input type="text" name="bookCounts"><br><br><br>书籍详情:<input type="text" name="detail"><br><br><br><input type="submit" value="添加"></form></div>
7、BookController 类编写 , 方法三:修改书籍

在这里插入图片描述

在这里插入图片描述

结果:

在这里插入图片描述

8、添加事务支持

在这里插入图片描述

在spring-service.xml中添加aop事务支持

导入jar包,还要往WEB-INF中导入,注意生成文件中可能没有也会报错

在这里插入图片描述

9、隐藏域ID的问题

在这里插入图片描述

添加隐藏域

在这里插入图片描述

显而易见是sql出现了问题,这里可以配置日志输出方式,让SQL输出日志更清晰,更容易判断出错的地方

在这里插入图片描述

在这里插入图片描述

10、 修改书籍页面 updateBook.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>修改信息</title><meta name="viewport" content="width=device-width, initial-scale=1.0"><!-- 引入 Bootstrap --><link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container"><div class="row clearfix"><div class="col-md-12 column"><div class="page-header"><h1><small>修改信息</small></h1></div></div></div><form action="${pageContext.request.contextPath}/book/updateBook" method="post"><input type="hidden" name="bookID" value="${book.getBookID()}"/>书籍名称:<input type="text" name="bookName" value="${book.getBookName()}"/>书籍数量:<input type="text" name="bookCounts" value="${book.getBookCounts()}"/>书籍详情:<input type="text" name="detail" value="${book.getDetail() }"/><input type="submit" value="提交"/></form></div>
11、BookController 类编写 , 方法四:删除书籍
@RequestMapping("/del/{bookId}")
public String deleteBook(@PathVariable("bookId") int id) {bookService.deleteBookById(id);return "redirect:/book/allBook";
}

使用RestFul风格

在这里插入图片描述

在这里插入图片描述

配置Tomcat,进行运行!

到目前为止,这个SSM项目整合已经完全的OK了,可以直接运行进行测试!这个练习十分的重要,大家需要保证,不看任何东西,自己也可以完整的实现出来!

12、搜索图书

1、前端

在这里插入图片描述

2、controller

在这里插入图片描述

3、设置接口方法

在这里插入图片描述

4、xml配置SQL

在这里插入图片描述

5、添加业务

在这里插入图片描述

6、改进controller

在这里插入图片描述

7、修改前端

在这里插入图片描述

在这里插入图片描述

8、前端可视化

在这里插入图片描述

SpringMVC学习与开发(三)的学习笔记到此完结,笔者归纳、创作不易,大佬们给个3连再起飞吧

http://www.hrbkazy.com/news/34007.html

相关文章:

  • 哪个做简历的网站比较好谷歌seo需要做什么的
  • 网页网络优化长沙seo霸屏
  • 广西网站建设银行网站优化seo推广服务
  • 厦门网站建设哪家便宜网站的推广方法有哪些
  • 做国外网站衣服码数要怎么写种子搜索
  • wordpress站外链接页面长沙网站优化对策
  • 用织梦系统做网站优化设计六年级上册语文答案
  • 摄图网的图片可以做网站吗百度指数怎么看
  • 在那些网站可以接兼职做各大网站排名
  • 免费做网站有哪些家郑州高端网站制作
  • 成都网站整站优化软文小故事200字
  • 烟台莱州网站建设好项目推荐平台
  • 网站域名icp备案培训管理平台
  • 关于学院网站建设的意见如何建立一个网站
  • 西宁刚刚发生的大事云速seo百度点击
  • 海曙区做网站seo关键词查询
  • 深圳宝安大型网站建设公司广告营销的经典案例
  • 做黑彩网站会怎样处罚注册公司
  • 网站建设做的好处引流推广广告怎么写
  • wordpress允许搜索站长工具seo综合查询收费吗
  • 装修网站模板下载电商平台app大全
  • 明年做那些网站能致富网站内容seo
  • 网站建设公司项目介绍郑州网站建设公司哪家好
  • 乐从建网站网址域名大全2345网址
  • 中国人民建设人行网站首页广告公司是做什么的
  • 网站空间有哪些自己如何做网站
  • 山东做网站公司哪家好外贸网络营销推广
  • 做网站学什么软件seo赚钱吗
  • web前端知识点电商关键词seo排名
  • 闸北专业做网站提高搜索引擎检索效果的方法