这一节我们开始对项目进行分层,一般来说,一个web项目的层次结构如下图所示: controller层为我们的控制层,用来接收用户的请求,比如新增一个学生的信息,新增的请求最先就是走到这一层。...但凡涉及到业务处理,就交给service层来操作。所以,controller层中必然拥有某一个service层的引用。 service层主要用来处理一些业务逻辑,不做任何的数据库操作。...接下来,我们在service包里面新建一个UserService接口类,注意,是接口哦: 有了接口以后,就得有对应的实现类,接着就在impl包下面建一个该接口的实现类,注意,是java类哦: 代码: public...+ password + ", name=" + name + ", sex=" + sex + "]"; } } Spring框架支持数据动态绑定...然后,调用service层的方法,把这个学生数据传递到service中去。
至于datagrid的具体用法,因为本系列课程不是专门讲前端框架EasyUI,所以我也就不多阐述了。感兴趣的童鞋可以去参考EasyUI的官方文档。...dao.queryForPage(sql, page, rows, args.toArray()); return pageBean; } 相信只要你有一定的java
本次的教程是打算用Spring,SpringMVC以及传统的jdbc技术来制作一个简单的增删改查项目,对用户信息进行增删改查,就这么简单。 1.新建项目 首先,打开eclipse,新建一个web项目。...项目的目录结构如下: ? 接下来,把我们需要用到的jar包全部拷贝进来。 ? 其中,simple-jdbc是我自己封装了一些jdbc操作,可以看成是一个小型的jdbc框架,具体如何使用会在以后讲到。..." xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0...public void test(){ System.out.println("test"); } } 我们给这个类打上@controller标记,到时候Sping框架就会认识他...接着,我们可以去发布我们的项目了。 如果你还不会用eclipse和tomcat发布web项目,就看一下 Tomcat的安装配置与JavaWeb入门教程 。我在这里就不详细说了。
这一节就简单贴一下simple-jdbc框架的源码,其实也没多少东西,都很简单的啦。这个小框架就是对之前 文章发布系统博客 中封装的jdbc工具类,进行的一个强化。...import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties...; import java.util.Date; import java.util.List; import java.util.UUID; public class StringUtils {...java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Timestamp...; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.Iterator
现在我们来手工搭建一个web项目,首先,在webapps目录下新建一个文件夹,是的,就是文件夹,不管你项目是什么,肯定还是放在文件夹里面的。 image.png 项目名称就叫做myapp。.../2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com...如果出现中文乱码,从以下几个方面考虑: 1、 文件本身的编码格式是不是UTF-8,不是的话就用一个文本工具另存为一下。 2、 Server.xml中有没有指定编码格式为UTF-8 。...如果我们不想要把web项目丢到webapp目录,那又该怎么办呢?没错,我们就采用第二种方式。...我现在把myapp项目放到D盘根目录,为了防止你们说我使诈,我不但把访问地址改了,还把webapp目录下的myapp项目删掉了。 image.png 我们一般都推荐第二种方式。
后台控制器解决了之后,我们再来修改前台的ajax方法: //使用ajax传递到后台 $.post("addUser.do",json,function(data){ //这里是处理返回数据的回调函数...而且,这边还涉及到一个事务回滚的问题。这些知识点会在以后讲到。 现在,我们来看一下数据库: ? 发现一个问题,两条数据的用户名是重复的,在实际情况下,用户名和ID一样,是唯一的。...return userDao.getByUserName(student); } } UserDaoImpl package com.app.dao.impl; import java.util.HashMap...; import java.util.Map; import com.app.bean.Student; import com.app.dao.UserDao; import com.simple.dao.SimpleDao
1.引入资源包 在上一节中,我们把基本的框架都搭好了,用了Spring,SPringMVC。这一节,我们先来画页面,前端框架采用EasyUI来实现。
这一节我们来说一下如何用ajax提交请求? 我们先不讲ajax的原理,还是先以实战为主,看一下这个东西到底怎么用的? form表单:
OK,那么下一步,就是把这些数据传递到后台。...接下来,用ajax传递数据给Controller //使用ajax传递到后台 $.post("addUser.do",json,function(data){ //这里是处理返回数据的回调函数
2、自定义jdbc框架 simple-jdbc 如图所示,simple-jdbc是我自己编写的一个jdbc框架,有点类似于spring-jdbc,采用DBCP数据源。...目录结构如图所示,我已经把它打成了一个jar包,只需要在项目中引入即可。接下来,我们需要配置一下数据库的链接信息。...我们新建一个源文件夹etc,里面写一个配置文件,名字叫dbcpconfig.properties.注意哦,一定是叫这个名字,因为我在simple-jdbc框架中就设置了默认去读取这个文件。...分页查询在jdbc操作中一向是个难点,但是如果你使用我这个simple-jdbc框架,就是一句话的事情了。
image.png 正常情况下,为了保存这些数据,我们都会各自建立一个Java类,比如用户类。我们为了方便起见,可以采用一种公用的数据结构来保存,那就是Map。...从道理上也能明白吧,客户端传递数据到我们的服务器,我们是不是首先得想办法把它存起来?好像给你一筐鸡蛋,然后他说,鸡蛋给你,框子我得拿走,那么你是不是得找一个容器,把鸡蛋装起来呢?不就是这个道理嘛。...image.png 为了项目的严谨性,防止用户通过抓包的方式手动提交,从而绕过JS验证,我们一般还需要在后台也进行一个验证。 ? image.png 为了方便起见,我们先把js验证给去掉。 ?...因为其实传递到后台是有值的,只是为””,这一点和js不同,在Java中,””不等于假,它只是代表一个空字符串。所以我们需要修改一下验证条件。还有,为了不让代码继续往下执行,我们需要及时return。
在开始这一节之前呢,我们还需要把Tomcat配置到Eclipse中,配置的方式很简单,打开Eclipse,Window,Preferences,进入到这个页面: image.png 将Tomcat的安装目录配置到...可以看到左侧多出来一个Servers文件夹: image.png 这个是Eclipse虚拟了一个Tomcat进来,以后我们都操作这个虚拟的Tomcat,其中也有一个Server.xml,我们也可以在里面添加Web项目...1、新建一个dynamic web项目 “wzry”,注意要勾选Generate web.xml deployment descriptor(部署描述符); 2、在src中新建一个名叫com.wzry.web.servlet...如果是Eclipse,还要修改编译路径: image.png 这个路径是错误的,因为web项目中,Java类编译后的class文件都应该在这个地方: image.png 这里需要自己手动新建一个classes...image.png 配置server.xml,部署该项目,端口号为80(浏览器中可以忽略)。
%'"; args.add(student.getName()); } 从代码上看,貌似没有啥问题。ok,来测试一下。 ? ? 结果报错了: ?
大家好,好久不见,今天我们来一起学习一下关于Spring框架的IOC技术。 image.png 控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。...System.out.println(daMao.getGirlFriend().getHobby()); } } 运行效果: 这样的好处显而易见,我们不需要在剧本(Java代码...剧本就是Java代码,能不改就不改。 作业: 新建一个Java项目SpringTest01 ,创建包 com.spring.bean。...需要创建的Java类: Hero .java 属性: Private String heroName; Priate String type; Private String description
Java从入门到精通九(Java泛型) 泛型说明 使用泛型的好处 泛型类 泛型接口 引入类型通配符 不变,协变,逆变 用通配符支持协变和逆变(开挂行为) 泛型方法 泛型方法与可变参数 泛型上界下界 泛型数组...- 表示不确定的 java 类型 这种标记符可以用在类,接口,方法中,我们可以称之为泛型类,泛型接口,泛型方法。...使用泛型的好处 1:在代码编译时期对数据类型进行检查 package java_practice; import java.util.ArrayList; public class GenericDemo...一个例子 package java_practice; import java.util.ArrayList; import java.util.HashMap; public class GenericDemo...泛型合理使用还是对代码的优化很有帮助的。 自己以后要是遇到这方面的事情会再说明。就先菜到这里吧!该文是自己的一些认识,如果有不足或者说的不对的地方,还请指正。
这里我只是举个例子,可能大家还是很懵逼,这里我就要给你推荐几本入门 C 语言的视频和书籍了。 关于书籍推荐,可以看看这篇回答 初学C语言,有什么好书推荐?...Exception 和 Error,和面试官扯皮就没问题了 Java 集合 泛型 ,深入理解泛型可以参考这篇文章 java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一 内部类,系统化的了解内部类...《MyBatis从入门到精通》中从一个简单的MyBatis查询入手,搭建起学习MyBatis的基础开发环境。...从入门到精通 那么 MyBatis 都应该掌握哪些内容呢?...当然你要会用 MyBatis 了,用法直接参见官网或者 MyBatis 从入门到精通这本书就可以了。
A说:我的年龄比B大2岁;B说:我的年龄比C大2岁 C说:我的年龄比D大2岁;D说:我3岁 那么从A说的条件到D说他的年龄这个过程为递推,然后3+2+2+2求A的年龄这个过程为回溯。
什么是π框架?...统一管理依赖包,相对有thinkphp5框架学习基础的人,很快就可以从入门到实战了; 提供很多接口服务:可用于快速搭建微服务、RESTful接口或Web Services; 2.X版本 使用了composer...前面说了,phalapi框架新版本2.x与旧版本1.x传统的设计理念的不同,学过thinkphp5的人,半天就可以入门π框架,但如果没学过thinkphp5的人岂不是一脸懵逼?...下载 从官网【https://www.phalapi.net/】上下载2.x版本的π框架,放到你wamp集成环境下可以访问位置(当然你单独用Nginx或Apache服务也行,集成环境只是图个方便),还有最好用火狐浏览器显示接口返回的...红框:入口文件 黄框:默认访问api类Site 篮框:默认访问接口服务 项目源代码放置在上图中的src文件,里面各个命名空间对应一个子目录,默认命名空间是app,里面主要有Api、Domain、Model
Java从入门到精通二十一(Mybatis框架) Mybatis简化jdbc操作 使用Mybatis框架 使用Mapper代理 配置文件实现CRUD 根据id查询详情数据 多条件查询 散装参数用注解的方式...可能刚开始还没有深刻认识,因为使用的不是很频繁,也没有做过太大的项目。后面多用用就可以了。还有就是框架的配置可能看起来比较麻烦,但是这样的框架对于后续的维护是非常方便的。...public void setAddr(String addr) { this.addr = addr; } private String addr; } 这个User在测试类可以作为泛型...需要注意到这个是相对类路径,也就是相对于main或者java这两个同名的文件的相对位置得到一致就可以认为放置好了。...存在的一个问题就是如果我们的数据库字段属性和java类体的字段属性不以言不放过的话,我们查询到的就只是空的数据。我们最终采用的解决办法。 <?
,没有被大家挖掘出来,如此强大的框架不应该被埋没,今天我就带领大家深入pytest使用,共同领略pytest的强大。...(4).另外,pytest不支持也不打算支持中文路径,如果项目路径中有中文会报错。 好了,pytest的getStarted就结束了, 看了上面的应用方式的确没觉得它哪里强大。...别着急,我们再来想一想,如果你有个测试框架,你希望如何用这个框架做测试? 3.灵活的指定测试用例运行集。...到这里为止,你已经学习了pytst的基础功能,高阶功能,还有什么吗? 如果你之前的框架是unittest, pytest支持无缝切换, 你不需要改任何代码。...记得上次直播我分享的unittest实现的自动化框架吗,我们看看这个page: ?
领取专属 10元无门槛券
手把手带您无忧上云