- 博客(43)
- 资源 (3)
- 收藏
- 关注
原创 Thymeleaf语法
一.DOM元素1 标准写法: <span th:text="${stu.id}"> </span>2 内嵌式写法:由[[...]]包围一个表达式 <span> [[${stu.name}]] / Ch </span> <br>3 混合写法:不常见,用 |…| 指定一个混合文本 <span th:text="| ${stu.cellphone} - 拨打 |">th:xxx 表示增加一个名为 xxx 的属性例如 : ..
2021-07-26 19:25:45
913
原创 Thymeleaf基础
一.显示变量<!DOCTYPE html><html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>info</title> </head> <body> 学号:<span th:text="${person.id+1}">0000</span><br /&
2021-07-26 14:57:45
159
原创 2.请求参数
一.表单参数这样一个URLhttp://127.0.0.1:8080/spring/info?id=1001&name=li从表单参数里提取这个参数的值,可以这样操作@Controllerpublic class TestController{ @RequestMapping("/info") public void myTest(@RequestParam Integer id,@RequestParam String name, HttpServletResp
2021-07-24 16:47:22
292
原创 1.Controller与handler
Controller ,是Spring里的一个基本概念。 Handler,一个请求处理方法, 对应一个URL。 一个项目里,可以有多个Controller 。一个Controller里,可以有多个Handler。@Controllerpublic class WelcomeController{ @RequestMapping("/welcome1.do") public void welcome1(HttpServletRequest req,HttpServletResponse re.
2021-07-24 16:06:19
1972
1
原创 5.页面静态化
当以MVC方式实现之前的例子内容查看页时,每次查看都要查询数据库、模板替换、然后生成HTML ,当并发人数较多时,会给服务器带来显著压力。内容一旦录入,存储到数据库,后期应该一般不再变化, 既然内容不变,何不生成一个静态的页面呢? 特点:一次写入,多次读取 )。所以,本例不再使用伪静态方式,而是直接就生成静态的HTML文件,每次直接访问生成的静态页面。首先写一个类HtmlGen.java,用于生成静态html文件package statichtml;import java.io.File;
2021-04-14 15:46:42
203
原创 3.RESTful
RESTful,一种通用的前台后交互方式 。 RESTful一般是指这种方式: 使用 HTTP POST ( 或GET ) 进行数据交互, 请求数据和应答数据均为 JSON 格式 (或XML)。
2021-04-13 12:43:33
99
原创 3.表单
表单表单,是一种最原始的前后台数据交互方式。<form method='POST' action='ServiceUri' > <input type='text' name='xxx' /> ... <input type='submit' /></form>表单的一切都是由浏览器自己处理的, 添加一个用于提交的按钮: <input type='submit' value='提交' /> ,点
2021-04-13 11:06:46
89
原创 2.AJAX
后台提供的服务(接口),前台页面如何调用? http://127.0.0.1:8080/QueryAll , http://127.0.0.1:8080/QueryById?from=20180002&to=20180004AJAX, 一种在网页上调用后台接口的方式。jQuery里提供了AJAX调用的方法 ,$.ajax ( { ... 参数 ... } ) 其中, $.ajax() 等同于 jQuery.ajax() ,参数里面是一个JS对象。 $.ajax({ url:.
2021-04-13 10:49:07
80
原创 1.URL参数查询
Servlet首先我们来介绍一下什么是servlet。Servlet , 服务小程序 ,是 Java Web 的一个重要概念,一种为客户端提供自定义服务的机制。URL参数如果要查询学号从20210002到20210004的学生数据,客户端需要把请求的参数发给服务器 。请求的参数可以附在URL末尾, 例如, http://../QueryById?from=20210002&to=20210004。URL参数的写法规则: 1 以问号引导 QueryById?xxxxxxxx..
2021-04-13 10:28:43
1873
原创 5.MVC
MVC流程MVC , 一种常见的设计方法 。M: Model, 数据; V: View, 显示; C: Controller, 控制。 简单地说,Model负责提供数据,而View负责数据的显示。例子:以MVC的方式来显示列表数据 列表页模板html<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>古诗文网</title> <l..
2021-04-12 20:54:27
132
原创 3.SSI 服务器端页面包含
SSI :Server Side Include 服务器端的页面包含技术 。例子:把头部和尾部HTML放在 head.html 和 foot.html 里 ,在p1,p2页面里包含后台 SSI 的实现步骤- 添加 一个实现SSI的servlet- 设置 UrlPattern: *.html- 使用 FreeMarker 来处理 <#include> 指令,将子页面包含进来 。所以,最终客户端浏览器接收到的网页是后台处理过的HTML内容。head.html<d.
2021-04-12 07:55:30
235
1
原创 4.一个简易的SSI框架——基于Filter实现
/** * 快速SSI框架 使用时,须派生子类并重写相应的方法 */public abstract class SimpleSSI implements Filter{ // 单一实例 protected Configuration frmkConfig; public void init(FilterConfig fConfig) throws ServletException { // 获取app所在目录 File appRoot = new File(fConfig.get.
2021-04-11 23:01:53
172
原创 2.指令 Directives
if指令在模板中,名称前面#号的标签为FreeMarker特有标签,称为“指令”。( 也称为FTL标签 )文档位置: (1) The template at a glance https://freemarker.apache.org/docs/dgui_quickstart_template.html (2) Directive Reference https://freemarker.apache.org/doc...
2021-04-10 15:06:18
267
1
原创 1.插值 Interpolations
标量类型 Scalars插值 Interpolations , 即在模板中插入一个值 。例如,${cellphone} 就是插值,大括号里称为表达式 (expression)。插值类型有很多,我们先来学习4种标量类型的使用( 标量 Scalars )。String 字符串、Number 数字、Boolean 布尔、Date-like 日期/时间参考官方文档 Template Author's Guide | Values, Types|The types https://free...
2021-04-08 21:41:38
432
原创 全局对象在网站中的应用
全局对象全局对象: 全局可见的、生命期永久的对象 ,在语法上,最常见的形式为:public class WhatEver{ public static XXX instance = new XXX(); } 即,用 public static 修饰的属性指向的对象。全局可见 :在代码的任何地方,都可以通过WhatEver.instance访问这个对象 生命期永久: 此对象一直存在,不会被 gc回收,一直到程序结束。例:一个论坛的首页使用TopicQuery.api 进行查..
2021-03-31 20:41:30
154
原创 过滤器的更多应用
Filter与ServletFilter 与 Servlet 的相似性 1 都是单例 2 都是按URL匹配 3 都可以随应用启动 4 能用 Servlet实现的,都可以用 Filter 实现。Filter 可以实现 Servlet 的所有功能,Filter 在功能上覆盖了 Servlet, Filter 更强一些,它可以实现 FilterChain 一层一层处理。...
2021-03-30 15:37:16
101
原创 Filter登录检查
登录检查未登录时,无论什么页面,都重定向到 login.html 。添加 LoginFilter ,拦截路径为 *.html。@WebFilter("*.html")public class LoginFilter implements Filter{ public void init(FilterConfig fConfig) throws ServletException { // TODO Auto-generated method stub } public void d
2021-03-30 10:57:00
205
原创 过滤器Filter
过滤器过滤器, Filter , 也被称作拦截器。 Servlet, Session, Filter 是 Java网站开发的三个最基础的机制。过滤器的作用:对请求进行过滤处理过滤器处理的结果: 1 通过,可以访问目标URL 2 拒绝,不可以访问目标URL目标URL可以是一个Servlet,或是一个静态文件。...
2021-03-28 16:29:03
326
1
原创 会话(下)
会话监听器HttpSession , 代表一个会话对象。会话监听器 HttpSessionListener 这是 Tomcat 提供的一个机制 ,使用这个机制,可以得知什么时候创建了会话对象,什么时候销毁了会话对象。会话监听器的创建:1 写一个类,实现 HttpSessionListener2 重写相应的抽象方法 void sessionCreated() void sessionDestroyed()3 添加注解 @WebList...
2021-03-28 15:56:08
100
原创 接口
接口接口,interface ,用于规定一组必须实现的方法。 形如,public interface AudioPlayer { public void play(int[] data); }接口里的方法就是抽象方法,没有普通方法。虽然没有abstract关键字,加上abstract不影响public abstract void play ( int[] data );和抽象类一样,接口本身不能实现例化,在使用时,应该创建一个类,实现这个接口。注意:用的是 ...
2021-03-18 14:38:13
86
原创 内部类
内部类内部类,Inner Class ,就是写在另一个类内部的类 形如,public class Example { public class ABC { } }内部的特点: 1 内部类也可以有属性、方法,其实和普通类一样 2 内部类在书写上要整体缩进一格,以便阅读 3 内部类会生成一个独立的 *.class 文件package my;public class Example{ public int...
2021-03-16 10:55:06
466
原创 泛型
泛型泛型,Generic Class, 泛 的意思,就是泛泛的、一般的、通用的 。比如,ArrayList 就是泛型,它不但可以存学生对象 Student ,也可以存 Teacher 老师对象,等。 泛型的一般写法 ( 以 ArrayList 为例 ) ArrayList<T> list = new ArrayList<T>(); 其中,T 表示该ArrayList 里存放的元素类型 比如,T可以是 Student, Teacher 等任意类型...
2021-03-15 19:18:29
115
1
原创 异常
引例写一个转换方法,把String类型转成int类型package my;public class Converter{ // 把一个字符串转成整数 不支持负数 // 例如: "123" -> 123 public int str2int(String num) { int result=0; for(int i=0;i<num.length();i++) { char ch=num.charAt(i); result=result*10+(ch
2021-03-14 10:49:10
134
2
原创 日期与时间
时间的表示在 Java 里,时间处理相关的类型:long 时间值java.util.Date 时间对象java.util.Calendar 时间操作工具类java.text.SimpleDateFormat 格式化工具类另外,自从Java1.8还引入了 java.time.* 包。用long和Date均可以表示一个时间值。一个long型整数可以表示当前时间,单位:毫秒 。表示:自1970-1-1 00:00:00 以来的时间差值 long time=System.curre.
2021-03-13 16:20:54
708
原创 会话(上)
会话在 JavaWeb 开发中, Servlet, Session, Filter是三个最基础的机制。当用户访问网站时,会话指从打开到关闭这一过程 。开始:用户在浏览器里打开网站 ;结束:用户关闭浏览器。如果有多个用户同时访问网站,那么tomcat就会创建多个Session对象,分别表示每一个会话。在 Servlet 里,可以取得当前会话对象 HttpSession session = request.getSession();每一个会话都有一个ID String s...
2021-01-30 19:57:01
94
原创 伪静态文件
伪静态文件静态文件:真实存在的、内容不变的文件。指WebRoot下面的 html, js, css, jpg 这些文件,浏览器会认为,这些文件的内容是不会改变的,因而有可能会缓存在本地。 伪静态文件:看后缀像是一个普通的静态文件,但实际上内容却是由 Servlet生成的。例如:创建一个 Servlet,伪装成一个静态文件。http://127.0.0.1:8080/mid0401/test.htmlpackage my;import java.io.IOException;impo.
2021-01-29 16:33:13
635
1
原创 文件下载
文件下载文件上传: 将本机文件上传至服务器 文件下载: 将服务器上的文件下载至本地如果是浏览器支持的文件格式,则下载后直接显示 ,例如 *.html , *.jpg 。如果浏览器不支持显示该文件,则提示保存到本地 ,例如 *.exe *.rar注意:都是文件下载,区别是有的能直接显示。Web Application 目录下的文件是由 tomcat 自动支持下载的。 但是:WEB-INF 和 META-INF 下的文件不支持下载 Web Application 目录之外的文件不支持下载.
2021-01-27 21:46:47
190
1
原创 文本文件
认识文件文件,是计算机上用于存储数据的逻辑抽象,文件有很多类型,例如有文本文件,图片文件,视频文件,音乐文件,压缩文件,PPT文件。文件里存的是什么?是数据。 数据又是什么?是字节数组。而所有的数据都是以字节为单位。在Java代码里,就是 byte[ ] 。读写数据File : 代表一个文件或目录的路径 FileOutputStream: 用于向文件写入内容 FileInputStream : 用于从文件读取内容使用这几个类,便可以实现文件数据的读写。文件里的数据就是字节..
2021-01-25 16:58:05
478
原创 文件与目录操作
文件操作package my;import java.io.File;import java.text.SimpleDateFormat;import java.util.Date;public class Test{ public static void main(String[] args) { File f=new File("d:/abc.txt"); if(f.exists()) System.out.println("存在!"+f); else .
2021-01-24 21:23:32
244
1
原创 13.Mybatis日志
日志输出MyBatis 内部自带日志,可用于辅助调试。在之前的demo里,已经多次使用了Log4j(即 Log for Java ,一个常见的日志框架) 日志输出了,本例只介绍Log4j的使用。MyBatis 兼容5种日志框架: SLF4J Apache Commons Logging Log4j 2 Log4j JDK logging未指定时,会从上到下扫描,找到哪个就使用哪个。无论你的项目使用什么日志框架,它都兼容!添加 Log4j支持1.修改 myba...
2020-12-13 16:03:40
149
原创 12.MyBatis动态SQL
动态SQLDynamic SQL, 动态SQL 不是固定写死的SQL,可以根据输入条件变化,可以参考 MyBatis 的官方文档。<if> 相当于 if (…){…}<choose><when><otherwise> 相当于 if…else if…else本例按照学号区间,查询student表1.指定起止,如 begin=20190003 , end=201900062.只有开始,如 begin=201900033.只有结束,如 end
2020-12-11 21:19:23
247
原创 11.MyBatis映射文件
多个映射文件在 Configuration XML 里可以配置多个映射文件在mybatis-config.xml里面可以配置多个mapper,可以减少混乱,namespace不一样就可以了。<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-c
2020-12-11 15:31:30
149
原创 10.MyBatis配置文件
可变参数Configuration XML 的参数可以是变化的,本例将数据库IP、用户名、密码设为可变项。1.修改mybatis-config.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><c
2020-12-11 15:15:05
117
原创 9.Mybatis在网站项目里的使用
本次测试的目的是实现tomcat启动时同时初始化mybatis步骤如下:1.导入数据库,添加pojo。(数据库使用到的是之前的student表,Student的POJO类也是之前的)/*SQLyog Ultimate v11.24 (32 bit)MySQL - 5.6.39 : Database - af_example**********************************************************************/ /*!4010
2020-12-08 11:06:04
252
1
原创 7.Mybatis日期字段的处理
在SQL里,表示日期时间的类型有4种,如果要表示时长,如视频或音乐的时长,一般用int或Stringdatetime ,如"2019-07-30 14:21:00" date,如"2019-07-30"timestamp,如"2019-07-30 14:21:00" int 或 bigint ,表示自1970-1-1 00:00:00以来的秒值在JDBC里,datetime, date, timestamp的处理类似。MyBatis 里,可以用 Date 或 String对应日期字..
2020-12-07 16:39:14
6267
1
原创 6.Mybatis事务
事务,TransactionMyBatis里默认开启了事务,在执行insert, update, delete之后,要记得commit ,形如,try (SqlSession session = sqlSessionFactory.openSession()){ session.insert (…) session.update(…) session.commit(true); }在官方文档里...
2020-12-07 16:16:06
286
原创 5.Mybatis更新与删除
更新记录添加一条 Mapper项 session.update( ) session.commit()1.修改mybatis-mapper.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"> &...
2020-12-04 12:23:47
195
1
原创 4.Mybatis添加记录
用POJO添加记录1.修改mybatis-mapper<?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="af.test"> <insert id="inser
2020-12-04 10:55:30
254
原创 3.Mybatis查询记录
创建POJO类POJO, Plain Ordinary Java Object 简单的Java对象 ,只含有属性、Getter/Setter、构造方法等 ,仅用于表示一条数据记录,没有其他作用。在 MyBatis里,POJO类对应于一条数据记录比如,Student类与student表是对应的1 属性 <-->列名2 属性类型<-->列值类型package my;public class Student{ public Integer id; .
2020-12-02 16:32:07
1819
PHP销售系统(小型商城).rar
2019-05-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人