![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Anthony的JavaWeb学习记录
Anthony_tester
这个作者很懒,什么都没留下…
展开
-
JavaWeb学习-JDBC系列-2-JDBC4个核心对象基本代码
前面把JDBC和Eclipse开发环境搭建好了,还说了JDBC的4个核心对象以及基本作用是什么。这篇就来写一个JDBC的第一个程序,相当于编程语言中的Hello Word例子。本篇是JDBC的最基本的知识,可以说学会了本篇这几行基础代码,JDBC就算入门了,后面几篇文章只不过是详细介绍和一些具体应用。1.写一个JDBC程序,查询student表的全部信息package demo;im...原创 2019-04-21 22:21:50 · 767 阅读 · 3 评论 -
JavaWeb学习-JDBC系列-1-JDBC概述
继续来学习自己不会的技能,我会一点Java基础,会jenkins pipeline,最近有一个困难,我本来想写一个Web应用程序,前端我大概想得到如何去布局,有哪些页面,其实我要实现的这个页面很简单,就是提供基本的登录功能,还有提供一个Jenkins pipeline 提交表单,让使用人员去提供参数,然后把表单参数和值存储在json文件,然后远程调用我jenkins上创建好的pipeline jo...原创 2019-04-22 14:04:00 · 751 阅读 · 0 评论 -
JavaWeb学习-JDBC系列-3-DriverManager介绍
前面4大核心对象基本代码都知道了,现在开始一个一个具体学习每个对象以及这个对象的常用操作和方法。DriverManager类是java.sql下的类,主要有两个功能,注册驱动和获取连接对象。本篇就这两个功能展开,具体来学习下。1.注册驱动相关代码//注册驱动DriverManager.registerDriver(new com.mysql.jdbc.Driver());前面的...原创 2019-04-22 22:29:28 · 1355 阅读 · 0 评论 -
JavaWeb学习-JDBC系列-4-Statement介绍
接下里学习Statement接口,Statement对象是通过Connection接口来创建的,它主要有两个功能,执行静态SQL语句和拿到执行结果集。实际项目中重点肯定是通过Statement对象去执行各种SQL语句,所以这篇,我们详细学习下Statement的SQL语句执行练习方法,结果集操作放到下一篇文章学习。1.相关学习代码//得到执行SQL语句的Statement对象State...原创 2019-04-24 21:51:40 · 1263 阅读 · 2 评论 -
JavaWeb学习-JDBC系列-5-ResultSet介绍
到学习四个核心对象的最后一个ResultSet,也就是结果集。前面一篇是操作SQL,这篇是对操作结果进行处理。结果集在客户端表现是一张虚拟的表,也就是存储在内存里。ResultSetz有两个功能,一个是对结果集进行封装,第二个是有可移动游标方法。1.对结果集进行封装前面的例子,我们对结果集的操作就是打印到控制台。在实际编程中,肯定是需要返回给前端数据的。这个在Java中,是这样处理的。例如...原创 2019-04-25 22:37:05 · 679 阅读 · 1 评论 -
JavaWeb学习-JDBC系列-6-释放资源的正确代码方式
前面介绍了ResultSet的基本操作,知道怎么去获取数据库中当前行的字段值和如何封装结果集的数据到一个高级对象中去。接下来的代码就是释放资源,也就是close()方法的正确关闭方法学习。1.释放资源代码之前我们是这样写关闭资源//关闭资源rs.close();stmt.close();conn.close();其实这种关闭方式是不对的,如果rs, stmt, conn三个...原创 2019-04-25 23:08:56 · 1115 阅读 · 0 评论 -
JavaWeb学习-JDBC系列-7-封装一个DB工具类
我们前面在多个单元测试用例的时候,每个用例里都需要写加载驱动,创建连接,创建执行sql的stmt对象,创建结果集rs对象。这些很多重复的代码,我们可以提出来,写成一个静态工具类。这样,在使用的时候看起来很简洁。1.我们尝试提取出来的连接数据库方法效果我在项目src下创建一个com.anthony.utils的包,然后在这个包下创建DBUtils.java文件。package com....原创 2019-04-26 22:48:16 · 502 阅读 · 1 评论 -
JavaWeb学习-JDBC系列-8-基于DBUtils工具类的CRUD练习
前面我们封装了一个用于连接数据库和关闭资源的DBUtils的类,可以减少很多重复的代码。这个类,提供了连接数据库和关闭资源的两个静态方法。再次复习下这个类中加载properties文件,为什么要使用静态代码块,也就是static{},因为我们想,这个DBUtils类一加载到JVM虚拟机就里面执行加载解析propertes文件操作。这个技巧,我们之前在Selenium自动化中写driver的初始化也...原创 2019-04-26 23:27:36 · 449 阅读 · 0 评论 -
JavaWeb学习-JDBC系列-9-基于JDBC做一个登陆练习
这里我们来做一个登陆练习,现在没有学习web开发,所以我们把网页的登录框,用一个类来表示,运行这个类的main方法,在控制台打印告诉用户输入用户名和密码。第二个类是执行登录的功能,这个类调用前面我们封装的DBUtils下得到连接和关闭全部资源的方法,然后根据用户名和密码去执行sql语句查询,如果查询的结果能返回是一个student对象,那么就打印这个学习的名字。如果查询没有结果,我们给出提示“用户...原创 2019-04-27 14:31:36 · 423 阅读 · 0 评论 -
JavaWeb学习-JDBC系列-10-SQL注入问题和PreparedStatement对象
前面我们用JDBC模拟了一个用户登录的问题,看起来很棒,没有什么问题,是不是。其实,知道sql注入问题的人就会发现这个代码这样写是不对的,百分百引发sql注入问题。本篇来学习什么是SQL注入问题和如何解决这个问题。1.什么是SQL注入问题现在代码还是前面一篇的代码,我们再次运行Login.java这个main方法,看看下面我是如何输入的请输入用户名:asdf请输入密码:asdf...原创 2019-04-27 15:56:31 · 439 阅读 · 1 评论 -
JavaWeb学习-JDBC系列-11-PreparedStatement对象执行CRUD和JDBC总结
正是前面一篇的SQL注入问题,我们学习到了使用PreparedStatement对象代替Statement来解决这个问题,所以,从这篇开始,我们就要抛弃Statement对象,以后都使用PreparedStatement对象,所以,这篇就使用PreparedStatement对象来执行CRUD练习。1.PreparedStatement版本的CRUD练习前面一篇我们例子就是查询练习,所以,...原创 2019-04-27 16:43:55 · 351 阅读 · 1 评论 -
JavaWeb学习-XML系列-1-XML基本语言介绍和创建
前面JDBC系列算学完了,接下来新学习一个知识点,XML以及XML解析。在学习XML之前,我要说一下我对XML语言的认识。从15年开始我接触Web 自动化,第一个框架的用例就是用xml语法写的。这个框架是一个会写代码的人写给我这样不会代码的人去做web ui自动化的,其实就是封装了一个关键字驱动的框架demo。最近我发现有些公司的测试项目,还是用到了xml文件去写自动化测试用例。其实xml文件是用...原创 2019-04-27 19:42:57 · 392 阅读 · 4 评论 -
JavaWeb学习-XML系列-2-XML约束之DTD
前面一篇文章,我们会这个books的xml结构就行。这看起来xml语法也很随意,什么都可以写,那么有时候,我们需要的xml文件内容是有一定要求和约束的,这个时候我们就需要对xml进行约束,本篇就来学习xml约束之一的DTD方式。1.DTD分类和语法DTD分类: *内部dtd,在xml内部定义dtd *外部dtd:在外部文件中定义dtd *本地dtd文件:<!DOCTY...原创 2019-04-28 23:01:43 · 417 阅读 · 0 评论 -
JavaWeb学习-XML系列-3-XML约束之schema
前面文章已经介绍过DTD约束文件约束效果不好,这个问题schema可以解决。xsd也是一个文件类型,和前面dtd一样。xsd文件中可以写更详细精确的语法来控制xml文件的内容。例如可以在xsd文件中定义性别的值采用枚举方式,一个为male,另外一个为femal。还可以定义元素的值或者属性值为字符串或者整数类型。下面xsd文件出现过的语法,我会写一遍注释。1.带schema的student.xs...原创 2019-04-29 21:01:13 · 396 阅读 · 0 评论 -
JavaWeb学习-XML系列-4-XML之DOM4J解析
来学习XML文件的解析,不管是度还是写xml文件,第一件事情就是先解析。例如,我们看到很多配置文件是xml,里面有key和value,对应的程序代码就需要去解析xml文件,拿到用户修改的值去更改软件的设置。早期的网站,数据传输很多都是采用xml文件,例如用户请求一个接口,接口返回来就是xml内容,在发相应内容给前端之前,代码是需要解析xml并往里面写入请求之后的数据。XML解析思想XML常...原创 2019-04-30 16:08:59 · 483 阅读 · 0 评论 -
JavaWeb学习-XML系列-5-XML之XPath解析
上一篇学习了DOM4J里面的常见的解析文件和如何写一个xml文件内容。其实DOM4J这个开源的工具除了支持DOM解析之外,它还支持XPath解析,XPath解析也经常使用。这一篇,我们就来学习下如何通过xpath表达式来得到xml里面的内容。我们在Selenium UI自动化学习的时候经常使用xpath来定位元素,同样在一个xml里面,其实就是一个DOM树,从根节点开始,我们也可以通过路径的方式去...原创 2019-05-01 20:07:58 · 435 阅读 · 0 评论 -
JavaWeb学习-Tomcat系列-1-安装和启动
本篇开始正式进入JavaWeb的学习,我们先来学习和了解tomcat的基本知识,然后我们选择J2EE版本的Eclipse并配置Tomcat集成。在学习Tomcat之前,我们来学习一些WEB的概念和周围一些常见名词和简单含义了解。Web在英语中表示网页的意思,它用于表示Internet主机上供外界访问的资源。Internet上供外界访问的Web资源可以分为:-- 静态web资源,如html页面...原创 2019-05-02 21:42:51 · 836 阅读 · 1 评论 -
JavaWeb学习-Tomcat系列-2-主要目录解释
前面一篇介绍了如何下载和安装tomcat这个web服务器,这篇重点来学习tomcat软件解压出来的主要目录以及对于的功能,这个很基础,不然以后无法玩转tomcat。最简单的问题,如何看tomcat日志文件,你得要知道吧。1.解压的文件结构2.主要目录解释bin 里面全部是一些可执行文件,例如startup.bat conf 配置文件,例如修改tomcat的端口 ...原创 2019-05-02 23:09:24 · 332 阅读 · 0 评论 -
JavaWeb学习-Tomcat系列-3-JavaWeb应用目录结构和Eclipse上手动发布项目到Tomcat
我也是第一次学习JavaWeb的内容,发现很多培训机构的视频教程都是在讲如何用MyEclipse这个商业插件来进行JavaWeb的学习。由于我个人平时工作中的开发都是采用Eclipse,所以我一直有一个习惯,不去随便安装非开源的软件。而且我在Eclipse上下载官方网站,也有针对JavaWeb开发的版本。所以,我个人打算继续使用Eclipse去学习JavaWeb。1.下载Eclipse ...原创 2019-05-03 19:24:58 · 489 阅读 · 0 评论 -
JavaWeb学习-Tomcat系列-4-Eclipse上集成Tomcat和自动发布
前面一篇,介绍了如何在Eclipse上创建一个JavaWeb动态项目,和手动发布工程到tomcat下对应目录。其实,我们完全可以在Eclipse上配置集成Tomcat,支持在eclipse上启动和关闭tomcat服务,然后自动发布项目到Tomcat.1.环境准备这里我们先去Tomcat的webapp文件夹下把前面手动创建的hello文件夹以及内部文件全部删除。这个图留这里,待会和E...原创 2019-05-04 16:44:00 · 509 阅读 · 0 评论 -
JavaWeb学习-Tomcat系列-5-手动部署第二种方式之war包以及URL和URI简介
这篇补充一下Tomcat手动部署方式的第二种方法,通过先把项目文件压缩成war包,然后拷贝到tomcat的webapps目录下,正在运行的tomcat会自动检测到war包并加压成文件夹方式。第二个学习的知识点是来学习什么是URL和URI,它们两者的区别。1.war包部署方式打开cmd窗口,cd到我们Eclipse上的web项目下的WebContent执行命令: jar -cvf h...原创 2019-05-04 20:15:05 · 695 阅读 · 0 评论 -
JavaWeb学习-Tomcat系列-6-端口占用问题和默认应用和默认主页
本篇来学习Tomcat常见两个配置知识,第一个是端口占用的场景以及如何解决端口占用。第二个是配置默认主页,默认应用。端口占用,有两个解决办法,第一个是修改成别的端口启动tomcat,第二个是找到占用端口的后台进程,杀死这个进程,自然就解决了端口占用。设置默认主页和默认应用,就是输入一个地址,我不输入URI后面的什么html文件,也能够自动打开这个html文件。1.端口占用问题我在Eclip...原创 2019-05-05 21:51:51 · 355 阅读 · 0 评论 -
JavaWeb学习-Tomcat系列-7-HTTP协议简单了解
这篇来简单学习下HTTP协议内容,很多测试招聘,JD写的要求是熟悉HTTP协议,通过本篇,算是基本掌握HTTP协议的几个大的内容。HTTP协议概述HTTP是HyperText Transfer Protocol(超文本传输协议)的简称,主要传输HTML文件,用于定义WEB浏览器与WEB服务器之间交换数据的过程及数据本身的格式。HTTP协议简单来说分两大部分,请求和响应,HTTP就...原创 2019-05-05 22:51:34 · 355 阅读 · 0 评论 -
JavaWeb学习-Servlet系列-1-Servlet初体验
在开始学习Servlet之前,我这里纠正一个我前面文章没有提到细节。那就是Eclipse创建web项目不会自动勾选创建web.xml文件在WEB-INF文件夹里面。这个文件又很重要,我们在学习Servlet必须要编辑这个文件。1.纠正一下如何在Eclipse上正确创建一个WEB项目我前面没有提到这个问题,有时候发现你在Eclipse上创建的web项目的WebContent下的WEB-...原创 2019-05-06 20:24:49 · 565 阅读 · 0 评论 -
JavaWeb学习-Servlet系列-2-Servlet运行过程
前面一篇学习了一个Servlet的demo例子,运行代码感受了下servlet,但是并没有解释Servlet为什么这样运行。这篇就能学习到Servlet大致的运行过程和机制。运行过程对我们理解Servlet原理有进一步帮助掌握学习好servlet。1.时序图解Servlet的过程2.详解Servlet运行的过程下面对照这张图的顺序来解释下Servlet的执行过程01) 浏...原创 2019-05-06 20:25:21 · 452 阅读 · 1 评论 -
JavaWeb学习-Servlet系列-3-Servlet的生命周期
上一篇介绍了Servlet的运行过程,知道了一个Servlet类如何在tomcat中被执行。这篇来学习Servlet的生命周期相关的话题。一个Servlet对象被创建之后,到被销毁之前,会执行哪些方法,这些问题是本篇学习需要掌握的。1.阅读servlet j2ee api文档注意这个已经不是JDK 1.6 chm那个文档了,Servlet接口只有在j2ee api chm这个文档才能查询得...原创 2019-05-06 22:52:53 · 444 阅读 · 1 评论 -
JavaWeb学习-Servlet系列-4-继承GenericServlet类-适配器模式
前面我们介绍了Servlet的运行过程和生命周期以及生命周期内的三个方法,我们实现这个过程都是通过实现Servlet接口来做的。其实在Servlet中,一共有三个方法来实现创建Servlet类。这篇来介绍第二个方法,是通过继承GenericServlet类,这种方式也叫适配器模式。1.查询GenericServlet类API文档一开始描述内容太多,看不懂没关系,这里提到HttpS...原创 2019-05-07 23:17:44 · 1661 阅读 · 0 评论 -
JavaWeb学习-Servlet系列-5-继承HttpServlet类-模板方法设计模式
这篇来学习实现Servlet的第三中方法,这种方法也是实际项目开发中采用的方法,通过实现HttpServlet类,这种方法也叫模板设计模式。1. J2ee API 文档查看HttpServlet类需要知道这几点:1)这个HttpServlet类实现了前面文章介绍的 GenericServlet 类,是这个类的子类。2)这个HttpServlet类新加了一些doXXX方法,...原创 2019-05-08 16:06:17 · 2859 阅读 · 0 评论 -
JavaWeb学习-Servlet系列-6-Servlet映射细节
本篇来做一个Servlet映射的练习,通过几个练习,了解Servlet是可以根据一个Servlet对象,映射出不同的访问URI。而且映射可以写类似正则的表达式,映射也存在优先级顺序问题。1.准备一个ServletDemo3类package com.anthony.servlet;import java.io.IOException;import javax.servlet.Serv...原创 2019-05-08 22:36:55 · 453 阅读 · 0 评论 -
JavaWeb学习-Servlet系列-7-Servlet获取配置信息
本篇来学习下Servlet获取配置信息,前面我们学习Servlet的生命周期方法,知道有一个getServletConfig()和一个init(servlet config),ServletConfig是一个对象,通过这个对象,我们可以获取在web.xml中的配置信息,这些信息包括变量和变量的值。获取ServletConfig对象的方法有好几种。1.在web.xml中的servlet对象...原创 2019-05-09 16:45:45 · 602 阅读 · 0 评论 -
JavaWeb学习-Servlet系列-8-ServletContext作为域对象和获取全局配置信息
继续学习Servlet的知识,这篇来学习ServletContext接口。在一个web服务器中,一个应用只能有一个ServletContext对象,这个对象就代表当前整个应用。ServletContext主要有这几个功能:作为域对象,多个Servlet之间共享数据;获取全局配置信息;第三个应用就是获取资源路径。本篇我们来学习下第一个功能,作为域对象,能让多个Servlet之间共享数据。1.项目...原创 2019-05-09 23:20:54 · 398 阅读 · 0 评论 -
JavaWeb学习-Servlet系列-9-ServletContext获取资源绝对路径
继续来学习ServletContext对象的第三个功能,就是获取当前应用项目下的任何资源文件的绝对路径,这里我们模拟在不同路径下写三个properties文件,分别是abc三个文件,里面key=aaa或者key=bbb或者key=ccc, 我们在servlet中通过这三个文件相对路径或者文件名称,去获取绝对路径,然后解析propertest文件,取出里面key的value。1.ServletD...原创 2019-05-10 21:56:45 · 836 阅读 · 0 评论 -
JavaWeb学习-Servlet系列-10-实现Servlet的转发
继续来学习ServletContext对象的方法,这个接口中还有一个方法叫 getRequestDispatcher(java.lang.Stringpath),这个对象下有转发的功能。下面用代码来演示下转发功能,我一个项目中有两个Servlet子类,ServletDemo1配置映射是/demo1, 而ServletDemo2配置的映射是/demo2, 转发的意思就是,浏览器访问/demo1,实...原创 2019-05-10 22:45:48 · 564 阅读 · 0 评论 -
JavaWeb学习-Servlet系列-11-HttpServletResponse对象介绍
这篇开始,我们来具体学习HttpServletRequest和HttpServletResponse两个对象以及相关方法操作。我们来回顾一下前面tomcat系列中讲到的http协议。由于HttpServletResponse更简单一些,我们先来学习HttpServletResponse对象和方法。1.HttpServletResponse基本概念前面http简单了解,我们知道响应对象包含三...原创 2019-05-11 16:43:46 · 290 阅读 · 0 评论 -
JavaWeb学习-Servlet系列-12-HttpServletResponse编码设置
前面文章我们介绍了HttpServletResponse的响应消息行和响应消息头的一部分方法的练习,这篇,来介绍响应信息正文的相关方法。本篇主要介绍响应编码的设置和常见问题。1.没有设置响应编码,中文内容在浏览器会显示问号格式我们需要给网页输出一个字符串内容,这里需要用到HttpServletResponse的父类的一个方法getWriter()。利用这个方法,例如我们可以把“你好”输出在...原创 2019-05-11 21:19:00 · 2877 阅读 · 0 评论 -
JavaWeb学习-Servlet系列-13-HttpServletResponse字节流输出
前面一篇,我们介绍了编码设置,还有一个方法PrintWriter,这个对象就是一个字符流操作,直接把内容通过字符流方式写入到response对象,在响应正文的操作中,还有一个叫字节流的对象ServletOutputStream, 其实就是继承了OutputStream类。1.默认编码字节流方式package com.anthony.servlet;import java.io.IOE...原创 2019-05-11 22:46:01 · 4521 阅读 · 0 评论 -
JavaWeb学习-Servlet系列-14-HttpServletResponse文件下载举例
本篇来学习响应对象中一个案例场景,下载文件。就是打开浏览器,发送请求,就触发文件保存到本地的效果。场景分析,为了演示下载文件,我随便找到一个图片,命名问J2EE图片.jpn并且放在Eclipse项目的src路径下。1.需求分析来分析一下这个需求,图片是放在src路径下,部署到tomcat服务器之后就是在WEB-INF/classes/J2EE图片.jpg。图片文件不像文本文件,所以我们需要...原创 2019-05-11 23:44:15 · 1022 阅读 · 0 评论 -
JavaWeb学习-Servlet系列-15-自定义验证码
这篇来做一个练习题,很有意思,就是实现网页上登录旁边一个验证码的过程。当然实际开发过程中,网上可以找到很多别人开发好的jar包,直接使用别人的验证码成果就可以。1.ServletDemo3.java代码package com.anthony.servlet;import java.awt.Color;import java.awt.Font;import java.awt....原创 2019-05-13 20:48:18 · 293 阅读 · 0 评论 -
JavaWeb学习-Servlet系列-16-客户端不缓存和刷新功能
接着前面的验证码的中代码,继续本篇的练习和优化代码。前面一篇其实有一点点小问题,鼠标光标定位在浏览器地址栏,键盘上敲回车,其实不会发生验证码的变化,这是因为浏览器有缓存。然后介绍一个刷新功能,在setHead方法中使用属性refresh。1.告诉客户端不缓存在写HttpServletResponse对象简介这篇的时候,我把setHead()中不缓存相关三个方法都列举出来了,我们这里把...原创 2019-05-13 23:14:47 · 303 阅读 · 0 评论 -
JavaWeb学习-Servlet系列-17-重定向
本篇来学习下重定向是如何实现的,我们这里来模拟这样一个业务场景,有些页面点击一些链接,里面跳转到登陆页面。这个场景就是我们本篇要模拟的重定向,我们来看看代码是如何实现的。1.ServletDemo类准备我写两个ServletDemo3.java和ServletDemo4.java, demo3是我们前面介绍的验证码的登陆页面。demo4是本篇的重定向代码。package com...原创 2019-05-14 11:08:36 · 780 阅读 · 1 评论