目录

十、SSM框架整合实现学生信息注册案例

1. 创建06-ssm的web项目

2. 修改web.xml版本为4.0

3. 更新pom.xml文件

4. jdbc的属性文件和日志文件

5. applicationContext-dao.xml文件

6. applicationContext-service.xml文件

7. applicationContext-service.trans文件

8. springmvc.xml文件

9. Dao层中的接口和映射文件及实体类

10. 业务层中的接口和实现类

11. 控制层中的处理器类及方法StudentController

12. 默认访问的index.jsp页面

13. 注册学生信息的页面addStudent.jsp

14. 显示学生信息列表的页面listStudent.jsp

15. 注册学生结果的页面result.jsp

16. web.xml中的数据


十、SSM框架整合实现学生信息注册案例

1. 创建06-ssm的web项目

2. 修改web.xml版本为4.0

我们现在使用了三个框架,Spring,SpringMVC,Mybatis,这三个框架需要启动,加载和初始化才能使用。先加载Spring框架,没有Spring框架是不可能由其他两个框架,因为所需的资源是交给Spring框架进行管理的,如果没有这个管理者,容器就没有了,其他框架的组件也不会存在。

1)先初始化Spring框架,使用监听器监听即可。

2)再注册前端控制器(初始化springmvc的容器文件)

3)最后配置post提交中文处理的过滤器

3. 更新pom.xml文件

  1. 单元测试包
  2. Mysql驱动包
  3. Mybatis的依赖包
  4. 数据库连接池的druid包
  5. Spring的核心jar包
  6. Spring-test的包
  7. Spring-tx的包
  8. Spring-jdbc的包
  9. Mybatis-spring整合包
  10. Cglib的包
  11. Spring-aspects包
  12. Spring-web包
  13. Spring-webmvc包
  14. 日志包
  15. Jstl包
  16. Servlet包
  17. Jsp的包
  18. Javax-annotation包
  19. Jackson包
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.suke</groupId><artifactId>06-ssm</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><name>06-ssm Maven Webapp</name><!-- FIXME change it to the project's website --><url>http://www.example.com</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target></properties><dependencies><!--添加Junit的单元测试包--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version><scope>test</scope></dependency><!--添加Mysql驱动程序包--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.19</version></dependency><!--添加数据库连接池的druid--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.6</version></dependency><!--spring的jdbc模板包--><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.2.5.RELEASE</version></dependency><!--添加mybatis的依赖包--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.1</version></dependency><!--添加Spring的核心包--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.7.RELEASE</version></dependency><!--添加Spring的test依赖包--><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>5.2.7.RELEASE</version></dependency><!--添加mybatis和spring的整合包--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.3.1</version></dependency><!-- @Resource注解依赖的jar包--><dependency><groupId>javax.annotation</groupId><artifactId>javax.annotation-api</artifactId><version>1.3.2</version></dependency><!--添加log4j日志的jar包--><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.30</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.6.6</version><scope>test</scope></dependency><!--添加一个AspectJ的依赖包--><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>5.2.7.RELEASE</version></dependency><!--添加Cglib的包--><dependency><groupId>cglib</groupId><artifactId>cglib</artifactId><version>2.1_3</version></dependency><!--配置spring的事务管理--><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>5.2.7.RELEASE</version></dependency><!--添加spring-web包--><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>5.2.7.RELEASE</version></dependency><!--spring-webmvc--><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.2.7.RELEASE</version></dependency><!--添加jstl--><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><dependency><groupId>taglibs</groupId><artifactId>standard</artifactId><version>1.1.2</version></dependency><!--添加Servlet--><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><!--添加Jsp--><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.0</version><scope>provided</scope></dependency><!--添加json的依赖--><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.11.0</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.11.0</version></dependency></dependencies><!--找映射文件:spring与mybatis整合肯定要使用到mybatis的映射文件--><build><resources><resource><directory>src/main/java</directory><!--映射文件所有在目录--><!--包含目录下的.properties文件,.xml文件都会进行扫描--><includes><include>**/*.properties</include><include>**/*.xml</include></includes></resource></resources></build></project>

4. jdbc的属性文件和日志文件

db.properties 

## 数据库的参数设置
jdbc_driver=com.mysql.cj.jdbc.Driver
jdbc_url=jdbc:mysql://localhost:3306/myjdbc?characterEncoding=utf8&useSSL=false&serverTimezone=UTC
jdbc_user=root
jdbc_password=root
## 连接池的参数设置
## 初始化连接数
initialSize=10
## 最小空闲数
mindLe=10
## 最大连接池
maxActive=30
## 最大的等待时间
maxWait=6000

 

 log4j.properties

log4j.rootLogger=debug,stdout,D,E
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
log4j.appender.D=org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File=D://logs/log.log
log4j.appender.D.Append=true
log4j.appender.D.Threshold=DEBUG
log4j.appender.D.layout=org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
log4j.appender.E=org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File=D://logs/error.log
log4j.appender.E.Append=true
log4j.appender.E.Threshold=ERROR
log4j.appender.E.layout=org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

5. applicationContext-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"><!--加载jdbc的属性文件--><context:property-placeholder location="classpath:jdbc/db.properties"/><!--配置mysql数据库参数:使用的是Druid技术--><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"init-method="init" destroy-method="close" lazy-init="false"><!--获取mysql的参数--><property name="driverClassName" value="${jdbc_driver}"/><property name="url" value="${jdbc_url}"/><property name="username" value="${jdbc_user}"/><property name="password" value="${jdbc_password}"/><!--获取连接池中参数--><property name="initialSize" value="${initialSize}"/><property name="minIdle" value="${mindLe}"/><property name="maxActive" value="${maxActive}"/><property name="maxWait" value="${maxWait}"/></bean><!--管理mybatis的工厂类对象--><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!--加载数据源--><property name="dataSource" ref="dataSource"/><!--加载mybatis的主配置文件--><property name="configLocation" value="classpath:mybatis/SqlMapConfig.xml"/><!--配置别名包扫描器--><property name="typeAliasesPackage" value="com.suke.pojo"/></bean><!--Spring配置mybatis的动态代理的过程--><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!--配置映射文件的包扫描器--><property name="basePackage" value="com.suke.mapper"/></bean></beans>

6. applicationContext-service.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"><!--添加Service层的注解的包扫描器--><context:component-scan base-package="com.suke.service"/>
</beans>

7. applicationContext-service.trans文件

<?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:tx="http://www.springframework.org/schema/tx"xmlns:aop="http://www.springframework.org/schema/aop"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/aophttps://www.springframework.org/schema/aop/spring-aop.xsd"><!--<import resource="classpath:spring/applicationContext-dao.xml"/>--><!--配置平台事务的管理器--><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><!--配置数据源--><property name="dataSource" ref="dataSource"/></bean><!--配置事务的隔离级别和传播行为--><tx:advice id="txAdvice" transaction-manager="transactionManager"><tx:attributes><tx:method name="*" propagation="REQUIRED" isolation="DEFAULT"/></tx:attributes></tx:advice><!--事务管理器和切入点配置--><aop:config><aop:pointcut id="txService" expression="execution(* com.suke.service.*.*(..))"/><!--事务使用内置的切面--><aop:advisor advice-ref="txAdvice" pointcut-ref="txService"/></aop:config>
</beans>

8. springmvc.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/contexthttps://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd"><!--@Controller注解开发的包扫描器--><context:component-scan base-package="com.suke.controller"/><!--配置视图解析器--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><!--配置视图的前缀名称--><property name="prefix" value="/WEB-INF/jsp/"/><!--配置视图的后缀名称--><property name="suffix" value=".jsp"/></bean><!--配置SpringMVC的注解驱动1)代替处理器映射器和处理器适配器2)对Json数据响应提供支持3)可以引用日期转换器的服务--><!--配置了注解驱动后Spring就知道了我们会启动了这个驱动,然后Spring通过context:component-scan标签会自动扫描@Controller,@Componet,@Service,@Repository等注解标记的组件到工厂中,来处理我们的请求--><mvc:annotation-driven /><!--如果直接使用<url-pattern>/</url-pattern>会出现访问不了静态资源静态资源访问的问题:直接将静态资源的访问交给服务器处理--><mvc:default-servlet-handler/></beans>

9. Dao层中的接口和映射文件及实体类

1)动态接口StudentMapper 

/** dao层:学生功能接口* */
public interface StudentMapper {//1、注册学生信息的方法public int insertStudent(Student student);//2、查询所有学生信息列表的方法public List<Student> selectStudents();
}

2)映射文件StudentMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.suke.mapper.StudentMapper"><!--注册的sql语句--><insert id="insertStudent" parameterType="student">insert into student(name,email,age) values (#{name},#{email},#{age})</insert><!--查询所有学生信息的sql语句--><select id="selectStudents" resultType="student">select id,name,email,age from student;</select>
</mapper>

3)实体类Student

public class Student {private Integer id;private String name;private String email;private Integer age;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name == null ? null : name.trim();}public String getEmail() {return email;}public void setEmail(String email) {this.email = email == null ? null : email.trim();}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}@Overridepublic String toString() {return "Student{" +"id=" + id +", name='" + name + '\'' +", email='" + email + '\'' +", age=" + age +'}';}
}

10. 业务层中的接口和实现类

1)业务接口StudentService

/** service层:学生业务的接口* */
public interface StudentService {//1、注册学生信息的业务方法public int addStudent(Student student);//2、查询所有学生信息列表的业务方法public List<Student> findStudents();
}

2)业务实现类及方法StudentServiceImpl 

/** service层:生业务的接口实现类* */
@Service
public class StudentServiceImpl implements StudentService {/*注入dao层对象*/@Autowiredprivate StudentMapper studentMapper;/** 实现注册学生信息的业务方法* @param student* @return* */@Overridepublic int addStudent(Student student) {return studentMapper.insertStudent(student);}/** 实现查询所有学生信息列表的业务方法* @return* */@Overridepublic List<Student> findStudents() {return studentMapper.selectStudents();}
}

11. 控制层中的处理器类及方法StudentController 

/** 控制层:处理器的类* */
@Controller
@RequestMapping("student")
public class StudentController {/*注入Service层对象*/@Autowiredprivate StudentService studentService;/** 处理注册学生的方法* */@RequestMapping("/addStudent")public ModelAndView addStudent(Student student) {//1、创建ModelAndView对象ModelAndView mav = new ModelAndView();String msg = "处理失败!";//判断int result = studentService.addStudent(student);if (result > 0) {msg = "学生信息【" + student.getName() + "】注册成功!";}//2、处理数据mav.addObject("msg", msg);//3、设置视图名称mav.setViewName("result");return mav;}/** 处理查询所有学生的方法* */@RequestMapping(value = "/queryStudent")@ResponseBodypublic List<Student> queryStudent() {List<Student> studentList = studentService.findStudents();System.out.println(studentList);return studentList;}
}

12. 默认访问的index.jsp页面

<%@ page contentType="text/html;charset=utf-8" language="java" %>
<%String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+"/";
%>
<%--http://localhost:8080/06_ssm/--%>
<html>
<head><title>操作学生信息的页面</title><base href="<%=basePath%>">
</head>
<body><div align="center"><h2>SSM整合案例</h2><img src="img/ssm.jpg" style="width: 300px"/><table><tr><td><a href="addStudent.jsp">注册学生</a></td></tr><tr><td><a href="listStudent.jsp">浏览学生</a></td></tr></table></div>
</body>
</html>

13. 注册学生信息的页面addStudent.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+"/";
%>
<html>
<head><title>注册学生信息页面</title><base href="<%=basePath%>">
</head>
<body><h1 align="center">学生信息注册页面</h1><div align="center"><form action="student/addStudent.action" method="post"><table><tr><td>姓名:</td><td><input type="text" name="name"/></td></tr><tr><td>邮箱:</td><td><input type="text" name="email"/></td></tr><tr><td>年龄:</td><td><input type="text" name="age"/></td></tr><tr><td></td><td align="center"><input type="submit" value="注册"/></td></tr></table></form></div></body>
</html>

14. 显示学生信息列表的页面listStudent.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+"/";
%>
<html>
<head><title>显示学生信息列表页面</title><base href="<%=basePath%>"><%--添加jquery库文件--%><script type="text/javascript" src="js/jquery-3.6.0.js"></script><%--使用ajax请求数据--%><script type="text/javascript">$(function () {loadStudentData();});function loadStudentData() {$.ajax({/*获取数据(将List<Student>转换为json串)*/url:"student/queryStudent.action",type:"post",dataType:"json",success:function (result) {//清空tbody中旧的数据$("#info").html("");$.each(result,function (i,n) {$("#info").append("<tr>").append("<td>"+n.id+"</td>").append("<td>"+n.name+"</td>").append("<td>"+n.email+"</td>").append("<td>"+n.age+"</td>").append("</tr>")});}});}</script>
</head>
<body><h1 align="center">学生信息列表显示</h1><div align="center"><table border="1" cellspacing="0" cellpadding="5"><thead><tr><th>学号</th><th>姓名</th><th>邮箱</th><th>年龄</th></tr></thead><tbody id="info"></tbody></table></div>
</body>
</html>

15. 注册学生结果的页面result.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body><h1>学生信息注册结果!</h1>${msg}
</body>
</html>

16. web.xml中的数据

<?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"><!--初始化Spring的容器文件--><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring/applicationContext-*.xml</param-value></context-param><!--使用监听器监听Spring的容器文件--><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!--注册前端控制器--><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!--初始化springmvc容器文件--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>*.action</url-pattern><!--<url-pattern>/</url-pattern>--><!--不能对惊天资源起效果--></servlet-mapping><!--配置一个post提交的中文乱码的过滤器--><filter><filter-name>characterEncodingFilter</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><!--强制请求对象(HttpServletRequest)--><init-param><param-name>forRequestEncoding</param-name><param-value>true</param-value></init-param><!--强制响应对象(HttpServletResponse)--><init-param><param-name>forResponseEncoding</param-name><param-value>true</param-value></init-param></filter><!--配置过滤器的映射--><filter-mapping><filter-name>characterEncodingFilter</filter-name><!--/*:表示所有的请求先经过过滤处理--><url-pattern>/*</url-pattern></filter-mapping>
</web-app>

JavaEE——SSM框架整合实现学生信息注册案例相关推荐

  1. Ssm框架实现的学生信息管理系统

    此篇为大家推荐的是一款基于SSM框架实现的学生信息管理系统 算是我们带大家入门SSM框架的实战项目,项目涉及到的知识点都是SSM框架最基本的知识,我们的思路是从简单到困难,难度不断升级,所以后面关于S ...

  2. SSM框架实现用户查询、注册、登录——IDEA整合Spring、Spring MVC、Mybatis 框架

    目录 零.前言 一.说明 1.整合说明 2.最终目标 3.数据库准备 二.搭建整合环境 1.创建 maven 工程 2.导入依赖坐标 3.创建java和resources文件夹 4.创建类和接口文件 ...

  3. 全栈开发实战 | SSM框架整合完整教程

    "一个人最好的状态:梦想藏在心里,行动落于腿脚." 目录 1.前言 2.基本概念 2.1 MyBatis 2.2 Spring 2.3 SpringMVC 3.开发环境搭建 3.1 ...

  4. SSM Chapter 12 SpringMVC扩展和SSM框架整合

    SSM Chapter 12 SpringMVC扩展和SSM框架整合 笔记 本章目标: 掌握JSON对象的处理 理解数据转换和格式化 了解本地化 掌握Spring MVC+Spring+MyBatis ...

  5. SSM框架整合+简单案例实现

    SSM框架整合+简单案例实现 文章目录 前言 一.Spring+SpringMVC+Mybatis框架整合 1.建立一个新的web项目 2.所需jar包 3.建立数据库表与实体类之间的映射 4.web ...

  6. SpringMvc框架及SSM框架整合

    SpringMvc框架及SSM框架整合 一.SpringMvc相关知识 1.Spring和SpringMvc的关系 ​ 1.1.Spring是IOC和AOP的容器框架,SpringMVC是基于Spri ...

  7. ssm框架整合并实现简单验证登陆功能

    ssm框架整合 ssm整合要用到的jar包和配置文件 新建动态web项目, 在web-inf/lib中添加资源中给的所有jar包,并右键依赖项目 添加以下配置文件到src下 将配置文件中的web.xm ...

  8. SSM框架整合:各种配置文件的整合和详解

    SSM框架整合:各种配置文件的整合和详解 前言 学习了ssm框架的整合之后,对于数量众多的配置文件,和各种不同的配置方式感到甚是头疼,接下来教给大家一个清晰明白的配置,分门别类的配置不同的xml文件. ...

  9. SSM框架整合+配置

    SSM框架整合 一. 框架简介及特征 1.SpringMVC springmvc是spring的一个模块,一个"小弟",用于web开发,可理解为servlet的升级版.Spring ...

最新文章

  1. mysql double 使用_mysql使用double的坑
  2. PHP+JS动态显示当前时间
  3. python缩进编码教程_python基础语法教程:行与缩进
  4. java线程等待都完成_Java等待线程完成
  5. 剑与远征英雄兑换码如此少见,新玩家连抽获得数位英雄
  6. 回信,我的好朋友王一涵
  7. linux查看进程运行日志文件,【Linux】常用指令、ps查看进程、kill杀进程、启动停止tomcat命令、查看日志、查看端口、find查找文件...
  8. oracle 9i从入门到精通读书笔记2
  9. 如何订阅MVP on dot NET(或其它播客) - iTunes版
  10. php 文件 计数,文件计数问题
  11. python xlutils和openpyxl哪个好_Python-Excel 模块哪家强?
  12. Windows家庭版远程服务
  13. 手机浏览器被强制跳转_Azure front door 强制http redirect to https
  14. 微信登陆报错:redirect_uri域名与后台配置不一致,错误码:10003 微信支付报错 微信登录报错 微信开发
  15. C# 缓存学习第一天
  16. 数字电子技术基础阎石(第六版)基本公式和若干常用公式的电路证明方法
  17. Alt属性和Title属性
  18. 测试面试LeetCode系列:宝石与石头
  19. 一分钟了解“英语表示区分”
  20. JS Array.slice 截取数组的实现方法

热门文章

  1. [微软拼音小技巧] 如何用Unicode输入生僻字
  2. FRM 5.3业绩衡量比率
  3. 【风马一族_构思】时光穿梭机
  4. 人工智能基础之美女和野人过河问题
  5. 4.3 人工智能典型岗位的能力要求
  6. 上项线体表位置_LPL退役选手总结最难打的四个位置:TES辅助RNG上单在列
  7. android 输入法,里面还集成语音输入
  8. rknn3399pro 2小时入门指南(八)详细教程指导你一步到位训练得到yolov3 rknn模型
  9. 我的精神家园——陈皓专访
  10. 36个非常有用的电脑知识?