Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

使用SSM框架搭建Web服务器实现登录功能(Spring+SpringMVC+Mybatis)

使用SSM框架搭建Web服务器实现登录功能(Spring+SpringMVC+Mybatis)

写在前面初学Java EE,虽然知道使用框架会使开发更加便捷高效,但是对于初学者来说,感到使用框架比较迷惑,尤其是各种jar包的引用、各种框架的配置、注解的使用等等。最好的学习方法就是实践,于是下载了一个现成的DEMO,通过简单的修改先成功在自己电脑上跑起来,然后再逐个文件进行分析学习,最终才能从总体的高度上掌握框架的运行机制和配置方法,这样才能在实际运用中灵活配置,不会再局限于示例框架中。SSM框架搭建流程SSM框架Web程序的流程http://www....
SSM框架Web程序的流程(Spring SpringMVC Mybatis)

SSM框架Web程序的流程(Spring SpringMVC Mybatis)

SSM框架的Web程序主要用到了三个技术:Spring:用到了注解和自动装配,就是Spring的两个精髓IOC(反向控制)和 AOP(面向切面编程)。SpringMVC:用到了MVC模型,将逻辑代码放到Controller层处理。Mybatis:用到了与数据库打交道的层面,放在所有的逻辑之后,处理与数据库的CRUD相关的操作。要完成一个功能:先写实体类entity,定义对象的属性,(可以参照数据库中表的字段来设置,数据库的设计应该在所有编码开始之前)。写M...
网络IPC:套接字

网络IPC:套接字

网络进程间通信:socket API简介不同计算机(通过网络相连)上运行的进程相互通信机制称为网络进程间通信(network IPC)。在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是行不通的。其实TCP/IP协议族已经帮我们解决了这个问题,网络层的“ip地址”可以唯一标识网络中的主机,而传输层的“协议+端口”可以唯一标识主机中的应用程序(进程)。这样利用三元组(ip地址,协议,端口)构成套接字,...
智能指针 auto_ptr、scoped_ptr、shared_ptr、weak_ptr

智能指针 auto_ptr、scoped_ptr、shared_ptr、weak_ptr

什么是RAII?RAII是Resource Acquisition Is Initialization的简称,是C++语言的一种管理资源、避免泄漏的惯用法。RAII又叫做资源分配即初始化,即:定义一个类来封装资源的分配和释放,在构造函数完成资源的分配和初始化,在析构函数完成资源的清理,可以保证资源的正确初始化和释放。 为什么要使用RAII?在计算机系统中,资源是数量有限且对系统正常运行具有一定作用的元素。比如:网络套接字、互斥锁、文件句柄和内存等等,...
设计模式——单例模式

设计模式——单例模式

设计模式:设计模式代表了最佳实践,是软件开发过程中面临一般问题的解决方案。 设计模式是一套被反复使用、经过分类、代码设计总结的经验。单例模式单例模式也叫单件模式。Singleton是一个非常常用的设计模式,几乎所有稍微大一些的程序都会使用到它,所以构建一个线程安全并且 高效的Singleton很重要。1. 单例类保证全局只有一个唯一实例对象。 2. 单例类提供获取这个唯一实例的接口。由于要求只生成一个实例,因此我们必须把构造函数的访问权限标记为protec...
const修饰的常量通过指针进行间接修改

const修饰的常量通过指针进行间接修改

const修饰的常量 不能被直接修改 但是可以通过指针进行间接修改。大家都知道如下代码中,被const限定的a是不可以被直接修改的?12345void main(){ const int a = 3; a=1;} 在C++中const修饰的常量,不能被直接修改,但是可以通过指针进行间接修改来看下面的例子:运行后输出 5 3 单步执行,利用内存窗口进行查看,未修改前a为3当利用指针间接修改a后,a在内存中显示5 原意是想通过指...
缺少双引号的字符串转换成Json对象

缺少双引号的字符串转换成Json对象

今天写接口遇到一个问题,前段传过来的密文解密之后,生成的字符串中不包含引号,所以直接转换成Json的时候报错了。网上找了半天,也没发现有什么好的方法去解决,所以就用基础的套路,自己转换字符串。第一种情况解密之后的字符串是下面这个样子的:String jsonStr = "{appkey:zkkOpNJ1Jo,adtype:1,appid:33e496d5fec,deviceid:15d994b}";直接JSONObject jsonObject = JSO...
Python实现在类中动态添加属性和生成对象

Python实现在类中动态添加属性和生成对象

程序的主要功能现在有个存储用户信息的像表格一样的文档:第一行是属性,各个属性用逗号(,)分隔,从第二行开始每行是各个属性对应的值,每行代表一个用户。如何实现读入这个文档,每行输出一个用户对象呢? 另外还有4个小要求:每个文档都很大,如果一次性把所有行生成的那么多对象存成列表返回,内存会崩溃。程序中每次只能存一个行生成的对象。用逗号隔开的每个字符串,前后可能有双引号(”)或者单引号(’),例如”张三“,要把引号...
Python 入门学习之数据类型、字符串、运算符

Python 入门学习之数据类型、字符串、运算符

最近开始学Python,这是一个很强大和便捷的编程语言,日后进行科学计算和科研的时候必然成为主要的编程语言。本来买了一本Python基础教程(第2版),然而教学顺序不太喜欢,因为一开始并没有讲清楚语法,不能学了立马用到实验中。并且,这本书针对的是没有编程基础的人,讲的比较浅。Python基础教程(第2版)高清晰PDF+源代码 下载 http://www.linuxidc.com/Linux/2016-08/134336.htm在这里把python中特有的,...
Hibernate 更新部分字段的实现

Hibernate 更新部分字段的实现

在Hibernate 中,有时我们只需要更新部分字段,此时如果使用update()方法,会将所有字段都更新,对于没有set的字段,就会设置成NULL,如果这些字段里面有非空的字段就会报错。解决的方法可以直接写HQL语句,但是如果字段较多,并且更新的字段是不确定的时候,直接写HQL语句就显得比较麻烦。另一种方法是在XML文件中设置dynamic-update="true",这样设置以后,只对set了的字段更新,没有set的字段就不会更新。<class ...
Hibernate中延迟加载和缓存

Hibernate中延迟加载和缓存

什么是延迟加载?延迟加载是指当应用程序想要从数据库获取对象时(在没有设置lazy属性值为false),Hibernate只是从数据库获取符合条件的对象的OId从而生成代理对象,并没有加载出对象访问该对象的属性时才会加载出相应的值。简答来说就是尽可能的减少查询的数据量。如何配置延迟加载在Hibernate中通过.hbm配置文件中的lazy属性来陪值,并且lazy属性出现的位置不同其作用和取值也不同。下面来详细介绍其在不同位置的不同取值和作用类Class标签中...
Java中字符串内存位置浅析

Java中字符串内存位置浅析

前言之前写过一篇关于JVM内存区域划分的文章,但是昨天接到蚂蚁金服的面试,问到JVM相关的内容,解释一下JVM的内存区域划分,这部分答得还不错,但是后来又问了Java里面String存放的位置,之前只记得String是一个不变的量,应该是要存放在常量池里面的,但是后来问到new一个String出来应该是放到哪里的,这个应该是放到堆里面的,后来又问到String的引用是放在什么地方的,当时傻逼的说也是放在堆里面的,现在总结一下:基本类型的变量数据和对象的引用...
JVM内存回收对象及引用分析

JVM内存回收对象及引用分析

自动垃圾回收是Java相较于C++的一个重要的特点,想了解JVM的垃圾回收机制,首先我们要知道垃圾回收是回收什么地方的垃圾,我在我的上一篇文章《JVM内存区域划分》里面有写到JVM里面的内存是怎么分布的,这里的回收主要是指对上文中提到的Java堆和方法区的内存的回收。什么样的对象可以被回收知道了回收哪里的内存之后,我们还需要知道什么样的对象是可以被回收,或者说是需要被回收的,这些对象我们称之为死掉的对象。那么哪些对象是死掉了的呢?我们说当一个对象不存在任何...
Java入门知识:Lambda表达式

Java入门知识:Lambda表达式

一、函数式接口函数式接口(functional interface 也叫功能性接口,其实是同一个东西)。简单来说,函数式接口是只包含一个方法的接口。比如Java标准库中的java.lang.Runnable和 java.util.Comparator都是典型的函数式接口。java 8提供 @FunctionalInterface作为注解,这个注解是非必须的,只要接口符合函数式接口的标准(即只包含一个方法的接口),虚拟机会自动判断, 但 最好在接口上使用注解...
对socket编程的理解

对socket编程的理解

最近看了看socket网络编程,对于我这种一点经验都没有的选手来说只能理解一点点吧。所以在此记录一下最近的收获。 socket编程无非就那几个函数,对于服务端来说,主要的为socket(),bind(),listen(),accept(),close()。对于客户端来说主要为connect(),close()等。当然,我所说的只是针对tcp协议而言的。对于udp而言,就可以简单很多,服务端和客户端都建立socket并进行绑定,从而用sendto()和re...
JVM ClassLoader加载过程

JVM ClassLoader加载过程

JVM ClassLoader加载过程1)三个类加载器:bootstrap classloader- 引导(也称为原始)类加载器,它负责加载Java的核心类。extension classloader- 扩展类加载器,它负责加载JRE的扩展目录中JAR的类包。system classloader- 系统(也称为应用)类加载器,加载应用程序的类。bootstrap classloader不是一个真正的ClassLoader实例2)获取引导类加载器加载了哪些类...
Java多线程相关知识

Java多线程相关知识

Java多线程相关知识整理分享。1)wait() notify() sleep()sleep是Thread类的函数,wait和notify是Object的函数。sleep的时候keep对象锁,wait的时候release对象锁。sleep时监控状态依然保持。wait进入等待池,只有针对该对象发出了notify才会进入对象锁池。Sleep时间过了就会恢复运行,wait后等到notify了,也不一定是立即运行。Wait和notify是非static函数,sle...
<< 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 >>