
Tiger の JavaWeb
文章平均质量分 60
分享一些 javaweb 方面的基础知识
StudiousTiger
这个作者很懒,什么都没留下…
展开
-
java全栈学习路线、java学习路线
原创 2021-06-14 15:04:33 · 325 阅读 · 0 评论 -
【邮件发送】原生javaweb实现邮件的发送,超级详细,有图有源码。
文章目录一、相关协议1.SMTP协议2.POP3协议二、对于qq邮箱的特殊操作1.授权码的获取2.其他三、使用的jar包1.javaMail API2.java Activation Framework四、发送一个简单邮件的实现1.流程图2.步骤3.源码(不要导错包!!!)4.测试五、发送一个复杂邮件的实现1.流程图2.步骤3.源码(不要导错包!!!)qq邮箱:163邮箱:4.测试一、相关协议1.SMTP协议发送邮件的协议:SMTP是一种提供可靠且有效的电子邮件传输的协议。 SMTP是建立在FT原创 2021-06-13 23:04:56 · 4954 阅读 · 1 评论 -
使用 Apache的文件上传组件(common-fileupload)来实现文件的上传
文章目录一、前言/先导二、步骤三、源码四、测试结果一、前言/先导maven的依赖:注意:common-fileupload,它需要依赖于 commons-io组件;<dependencies> <!--servlet的依赖--> <dependency> <groupId>javax.servlet</groupId> <artifactId>s原创 2021-06-13 10:44:41 · 5328 阅读 · 0 评论 -
通过HttpServletResponse实现文件的下载
文章目录前言一、文件下载的步骤二、代码三、运行结果前言基于的环境:maven使用的编译器:IDEA一、文件下载的步骤大概的流程图:具体步骤:1.我们需要获取到下载文件的路径 String realPath = "路径";2.获取下载文件的文件名 String fileName = realPath.substring(realPath.lastIndexOf("\\")+1);3.我们最好将文件名进行utf-8的编码,防止下载显示的文件名中文乱码原创 2021-06-10 14:27:43 · 3041 阅读 · 0 评论 -
在IDEA中创建Maven项目、配置maven的Tomcat以及JDK、启动Tomcat前后的注意事项
00原创 2021-06-09 16:51:57 · 183 阅读 · 1 评论 -
java中读取properties文件的方法
简单说一下读取properties文件的方法//通过类加载器进行获取properties文件流InputStream in = 类名.class.getClassLoader().getResourceAsStream("jdbc.properties");//创建Properties类Properties properties = new Properties()//加载流文件properties.load(in);//获取properties文件内容String content=原创 2021-06-04 06:27:56 · 186 阅读 · 0 评论 -
javaEE之文件的上传
上传:多部件表单体对表单的限制:method = “post”enctype = “multipart/form-data”表单中需要添加表单项:<input type=“file” name=“xxx”>对servlet的限制:request.getParameter(“xxx”) 就不能用了(作废了)通过 ServletInputStream request.getInputStream() 来获取整个请求的体多部件表单体:1.一个form被分隔出多个部件,即一个表单项原创 2021-03-01 14:40:42 · 158 阅读 · 0 评论 -
javaWeb中的HTTP中的cookie
大家首先要明白一点,cookie不是JavaWeb独有的,而是属于浏览器的cookie的用途1.服务器使用cookie来跟踪客户端的状态2.保存购物车在javaWeb中使用cookieCookie cookie = new Cookie(“键”,“值”)向浏览器中保存cookie :response.addCookie(cookie)获取浏览器发送过来的cookie : Cookie [ ]cookie=request.getCookies()cookie.setMaxAge(60) 设原创 2020-11-12 22:16:11 · 184 阅读 · 0 评论 -
javaWeb中的监听器
事件源:三大域ServletContext生命周期监听:①ServletContextListener 有两个方法——一个在出生时(服务启动时)调用,一个在死亡前(服务器关闭前 )调用void contextInitialized(ServletContextEvent sce) :服务启动时void contextDestroyed(ServletContextEvent sce) :服务器关闭前属性监听:②ServletContextAttributeListener 有3个方法——一个原创 2020-11-12 19:32:54 · 183 阅读 · 0 评论 -
JSON的介绍以及简单的使用
什么是JSON?说白了,json就是一种js提供的一种数据交换格式基本语法:{ } :表示对象对象中都有属性名和属性值其中属性名必须要是用 “” (双引号包含起来)属性值:数字:整型、浮点型字符串:用英文的双引号引起来boolean:true、false数组:使用[ ] 来括起来对象:通过{ } 括起来null:空json的使用:一般使用eval()函数对JSON字符串进行翻译(对于eval不了解的、尤其是不了解eval解析json的小伙伴们,可以看看我之前转载的一片对原创 2020-11-08 20:26:24 · 193 阅读 · 0 评论 -
js中常用的事件
点击事件:onclick点击事件。当HTML元素被点击时就会触发该事件,例如,点击按钮,点击图片,点击文本等都可以触发该事件。改变、选择事件:onchange内容改变事件。当input框、textarea框或select下拉框等元素内容发生改变时,就会触发该事件。onSelect :当文本框中的文本选中时触发(常用与radius或checkbox)焦点事件:onfocus获得焦点事件。焦点即是鼠标的光标,当鼠标的光标落在HTML元素时,就会触发该事件。例如,input文本框,光标落在i原创 2020-11-08 14:38:09 · 362 阅读 · 0 评论 -
ajax ----简单的使用
我们学习ajax只需要4步1.得到XMLHttpRequest对象不同的浏览器支持的获取方式也不一样大多数:var xmlHttp = new XMLHttpRequest();IE6.0: var xmlHttp = new ActiveXObject(“Msxml2.XMLHTTP”);IE5以及更早的IE:var xmlHttp = new ActiveXObject(“Microsoft.XMLHTTP”);既然是这样的,我们就像需要编写一个创建XMLHttpRequest对象的类原创 2020-11-07 19:14:18 · 139 阅读 · 1 评论 -
Apache Commons组件集合
详情请看链接转载 2020-11-02 22:24:26 · 210 阅读 · 0 评论 -
过滤器(Filter)四种拦截方式-执行顺序
过滤器(Filter)四种拦截方式拦截请求(REQUEST)拦截转发(FORWARD)拦截包含(INCLUDE)拦截错误(ERROR),是指你要去web.xml文件配置的错误界面怎么进行配置呢?有两种方式第一种,配置web.xml文件,同<dispatcher>标签<filter><filter-name>xxx</filter-name><filter-class>全类名</filter-class><原创 2020-11-02 09:42:34 · 1554 阅读 · 0 评论 -
过滤器Filter——入门
首先,什么是过滤器?我举一个例子,我们在登录一个本网站的时候,一般会有两个入口,一个是用户入口,一个是游客入口。那么当你是游客入口进来的,那么我就需要对你的请求访问进行一定的拦截,让你无法访问到一些特定的页面。这个功能就是有Filter来负责的如何创建一个Filter有两种方式创建一个类,实现Filter接口,配置web.xml文件<filter><filter-name>xxx</filter-name><filter-class>全类名&原创 2020-10-31 17:37:35 · 236 阅读 · 0 评论 -
session的序列化,为啥session会死而复生
我们都知道,session是属于一个会话的,按理说我把服务器关闭之后,要是在想访问session里面的数据应该是不存在了对吧?但是神奇的是,还真能访问的到,这说明session有死而复生的能力,你说这个吓不吓人我们知道servletContent (application)是与服务器同生共死的,这咋还半路杀出来了个session了呢这是因为在关闭服务器的时候,服务器会将session存到SESSIONS.ser,当服务器再次启动的时候,服务器会将SESSION.ser中的数据取回去,所以才会感觉ses原创 2020-10-31 15:55:57 · 184 阅读 · 0 评论 -
分页模块—思路
我这个人比较轴,我就是想自己试试自己能不能写出来,结果还真的写出来了,但是我得说一下,这个写的并不好,下面我会推荐一个最优解最优解:(这个最后解不是我自己写出来的,我也是借鉴,heihei)...原创 2020-12-06 14:00:11 · 101 阅读 · 0 评论 -
关于解决数据库连接Connection中的多线程问题
链接1:ThreadLocal详解-关于ThreadLocal解决数据库连接问题连接2:彻底理解ThreadLocal转载 2020-10-29 17:20:55 · 1056 阅读 · 0 评论 -
JDBC中处理事务的代码格式(初级)
Connection的三个方法与事务相关setAutoCommit(boolean)默认值为true表示自动提交(就是啥也没干),我们要使用false表示手动提交commit() : 提交事务rollback(): 回滚事务,撤销操作代码格式:Connection con .....try{con.setAutoCommit(false) //开启事务,手动提交....... //操作数据库con.commit() //提交事务 }catch{//发生异常,进行回滚con.原创 2020-10-29 09:48:10 · 107 阅读 · 0 评论 -
分页控件设计图
分页控件设计图原创 2020-12-06 14:00:41 · 116 阅读 · 0 评论 -
EL表达式简介
EL是JSP中的内置表达式语言它的作用相当于<%= %>使用EL表达式来读取4大域全域查找:${xxx} 使用全域查找来查找属性名为xxx的属性,如果不存在不是输出null,而是输出""(空字符串)获取指定域中的属性:${pageScope.xxx } :全域查找(相当于 pageContext.getAttribute(“xxx”))${requestScope.xxx } :request域查找(相当于 request.getAttribute(“xxx”))$原创 2020-10-23 21:30:18 · 302 阅读 · 0 评论 -
javaEE - 动态生成验证码图片
兄弟们你们的福音来了,今天我给你们准备了一个大餐,动态生成验证码图片家人们,请笑纳package sdpei.huxuehao.util;import java.awt.BasicStroke;import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.FileNotFoundException;import原创 2020-10-23 13:19:06 · 205 阅读 · 0 评论 -
servlet中的三大域对象——request、session 、application (ServletContext)
这三大域对象都的三个方法设置属性信息:void setAttribute(String name,Object value)获取属性值:Object getAttribute(String name)移除属性信息:void removeAttribute(String name)在这里要介绍两个概念:参数、属性(域属性)参数:在javaWeb中 浏览器通过form或url传递的值叫做参数,获取参数的方法时reuqest.getParameter(“参数名”),他是没有set方法的属性:服务器自己原创 2020-10-23 11:07:41 · 2823 阅读 · 1 评论 -
在点击链接或提交表单时怎样才能智能的添加jsessionid
就是与句话 把页面中所所有的路径都使用response.encodeURL(“路径”) 处理一下原创 2020-10-23 08:51:35 · 174 阅读 · 0 评论 -
请求转发与重定向之间的区别
请求转发与重定向之间的区别请求转发是一次 请求一次响应。重定向是两(多)次请求 两(多)次响应请求转发的url地址栏不会变。重定向的url地址栏是最后一次请求的地址请求转发只能转发到项目中存在的资源。重定向可以转发到项目中存在的资源和外部资源(如百度)请求转发是服务器端的行为,只需要给出servlet路径。重定向是让浏览器重新访问新的路径,所以如果是项目内的资源,那么需要加上项目名...原创 2020-10-21 18:34:18 · 114 阅读 · 0 评论 -
请求转发(forword())和请求包含(include())
描述:一个请求往往需要多个servlet协同合作才能完成,此时我需要请求转发 或 请求包含(不常用)请求转发: 由下一个servlet完成响应体(通过response两个流发送给浏览器的叫做响应体),当前servlet完成响应头(setHeader())请求包含: 由两个(多个)servlet共同完成响应体特点: url中的地址不会改变请求转发示意图:由图我们可以知道属于一次请求,一次响应。而重定向数据多次请求对次响应代码请求转发:servlet1:response.setHeader原创 2020-10-21 14:56:26 · 287 阅读 · 0 评论 -
servlet中的referer 的介绍以及应用——防盗链
我们通过 request.getHeader(“Referer”) 可以获取到这个请求来自哪里上述的方法得到的结果分为两类,如果你是直接在地址栏里进行访问的,那么request.getHeader(“referer”)的返回值就是null,路过是通过连接或者百度进行访问的,那么他就会获取到你的来源下面我们来实现一个小小的需求:防盗链当你是通过地址栏直接访问我的servlet,那么我就让你直接去百度,否则在页面上输出“欢迎你!”代码:String str = request.getHeader("R原创 2020-10-21 13:57:48 · 375 阅读 · 1 评论 -
servlet中通过response 实现 页面定时刷新(定时跳转)
我们有没有遇到这样情况,当你登录一个页面的时候,登录成功后他会说“欢迎XXX回来,5秒钟后自动跳转到首页”这个功能是怎么实现的呢?今天我们就来讲一下网页的定时刷新,设置一个refresh 它表示定时刷新,在servlet中,通过response.setHeader(“refresh”,“5;URL=”/工程名/资源") 来实现五秒钟后跳转到指定资源解释:为什么URL后的路径要加工程名,因为这是给浏览器发送的响应头,是浏览器要访问的路径,浏览器访问服务器资源时,都要加上"/工程名"...原创 2020-10-21 13:11:40 · 638 阅读 · 0 评论 -
ServletContext
介绍:一个项目只有一个ServletContext对象,对象名通常是application。也就是说可以从多个servlet中获取这唯一一个对象,使它给多个servlet传递多个数据。这个对象随着服务器的启动而创建,随着服务器的关闭而死亡。怎么获取到servletContext对象?当你的类继承了HttpServlet后,其父类提供了一个方法用于获取servletContext的对象,这个方法就是getServletContext()ServletContext是一个“域对象”什么是域对象?原创 2020-10-20 21:18:18 · 90 阅读 · 0 评论 -
怎么在服务器启动时创建servlet对象
这里为我们就要用到web.xml配置文件这里我要介绍一个标签 <load-on-startup>上述的标签就是为了设置服务器启动时创建servlet对象的顺序使用的话不多少,代码走起<servlet> <servlet-name>AXXXX</servlet-name> <servlet-class>全类名1</servlet-class> <load-on-startup>0</load-on-原创 2020-10-20 17:42:00 · 555 阅读 · 0 评论 -
Servlet线程安全问题
我们知道一个servlet只能有一个对象,而且还是有服务器自己创建的所以servlet是线程不安全的线程不安全的优点是速度快,缺点是容易造成脏数据什么是脏数据呢?所谓的脏数据就是就是一个数据被两个及两个以上的人同时访问,而且不是全部都是读操作,这个样就容易造成脏数据我们我们应该怎么避免脏数据呢?下面我提供3个技巧不要在servlet中创建成员,创建局部变量就可以了可以创建无状态成员,什么是无状态成员呢?所谓的无状态成员就是并没有逻辑操作,只是简单地打印个东西可以创建有状态的成员,但是必须原创 2020-10-20 17:25:30 · 116 阅读 · 0 评论 -
在jsp中 out.print() out.write()的区别
众所周知,在jsp中向htm中输出内容的方式常用的有2种out.print()out.write()大家有没有考虑过这两个有什么区别,还有在使用中有没有遇到什么问题今天我给大家介绍一下:首先是介绍一下out.print()在out.print() 中是可以输出任何类型的数据的其次是 out.write()不知道你们有没有遇到过使用 out.write()输出int型的数据,他不是不能输出,而是输出的东西和所输入的int型数据不匹配这是什么原因导致的内,如果你感兴趣可以看一下这两个的底层源代原创 2020-10-20 09:57:31 · 772 阅读 · 1 评论 -
数据库连接工具类 DbUtil
import java.sql.*;/** * @Description 这个类是作为对数据库操作(增删改查)操作的标准工具类 * @author HuXuehao Email:1938667362@qq.com * @version 1.0 * @date 2020年10月16日下午8:12:41 */public class DbUtil { private static final String URL = "jdbc:mysql://localhost:3306/*****?us原创 2020-10-19 21:44:01 · 445 阅读 · 0 评论 -
老铁们想知道 Class.forName(“com.mysql.cj.jdbc.Driver“) 这个加载类是干啥用的吗
老铁们,JDBC咱们都用过吧,大家好不好奇A :Class.forName(“com.mysql.cj.jdbc.Driver”);B :Connection conn=DriverManager.getConnection(url,user,password);这俩有什么关系看起来这没啥关系呀,那他俩为啥要写在一起呢?今天 我就来给你解开它们的神秘面纱我都知道 Class.forName()是要加载一个类,不知道大家还记得不记得类被加载时是会执行静态代码块的,好像执行之一次所以A和B原创 2020-10-19 21:22:37 · 651 阅读 · 0 评论 -
请求重定向
此内容不适合没有Servlet基础的伙伴一、什么是请求重定向?我举一个例子比如:一个餐馆搬迁了,它是不是要贴一个告示,说明一下这个餐馆一个搬迁了 还要给一个搬迁后的地址。在把餐馆映射到servlet中就是我们所说的请求重定向二、请求重定向图解三、关键代码respond.setStatus(302); 设置状态码respond.setHeader(“Locakl”,“新的地址”) 设置响应头四、请求重定向的特点浏览器地址栏会发生变化是多次请求不共享Request域中的原创 2020-10-19 17:50:34 · 382 阅读 · 0 评论 -
关于 request 、 response 中文乱码问题
下面试解决中关于 request 、 response 中文乱码问题的两个方法:当服务器通过request接收浏览器发送的内容时,我们可以使用request.setCharacterEncoding(“utf-8”) 设置字符集当服务器通过response向浏览器发送信息的时候,我们可以使用response.setContentType(“text/html; charset=utf-8”) 来统一设置服务器和浏览器的字符集注意:上述的两个方法要在request接收信息前和response发送信原创 2020-10-19 17:10:15 · 189 阅读 · 0 评论 -
<base href=““/> 标签的使用
在javaWeb中我们难免会用到“请求转发”(不明白的伙伴可以来看看我之前发布)请求转发的一个特点是: url是不会变的那么我经常使用的绝对路径“…/”就会失效,因为“…/”是参照url中的地址的。那么怎么解决这个问题呢?这个时候base标签就出现了,当在htm中使用的base,那么该HTML中的“…/”就不会参照url中的地址,就会参照base中的href中的地址,这样就解决了上述的问题例如:<!DOCTYPE html><html lang="en">&l原创 2020-10-19 16:16:00 · 2797 阅读 · 0 评论 -
Servlet类中的请求转发的介绍
一、我们要明白,什么叫做请求转发?顾名思义,当浏览器向服务器发送请求后,一个servlet接收浏览器发送的请求,这个servlet将该请求有发送到服务器中的其他servlet或其他文件中。二、在servlet中的请求转发的方法是request.getRequsetDispatcher("/请求转发的路径").forword(requset,response)这里我要解释一下request 和response都是 doGet() 和doPost() 中的参数,req和resp中的值在整个工程中是被原创 2020-10-19 16:01:34 · 266 阅读 · 0 评论 -
Servlet介绍
1.什么是servlet1.servlet是javaEE的规范之一 ,所谓的规范就是接口2.servlet是javaWeb的三大组件之一。三大组件分别是servlet程序、Filter过滤器、Listener监听器3.servlet是运行在服务器上的一个java小程序,它可以接收客户端发来的请求,并响应数据给客户端。2.servlet的生命周期1.执行servlet构造器方法,2.执行init 初始化方法3.执行service 处理业务方法4.执行destroy 销毁方法上述的1,2中的方原创 2020-10-18 16:12:54 · 212 阅读 · 0 评论 -
JSP:入门学习
JSP:入门学习1.概念:java Server Pages :java服务器端页面。可以理解成,一个特殊的页面,其中既可以执行HTML标签,又可以定义java代码。用于简化书写2原理:JSP本质上是一个servlet3.JSP的脚本:JSP定义java代码的方式<% 代码 %> :定义的java代码,在service方法中,在service方法中,service方法中可以定义什么,改脚本就可以定义什么。<%! 代码 %>:定义的java代码原创 2020-09-24 22:34:57 · 86 阅读 · 0 评论