![](https://img-blog.csdnimg.cn/20210717173207591.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
JAVAEE笔记
文章平均质量分 82
JavaEE:全称Java平台企业版(Java Platform Enterprise Edition),是Sun公司为企业级应用推出的标准平台。JavaEE是个大杂烩,包括Applet、EJB、JDBC、JNDI、Servlet、JSP等技术的标准,运行在一个完整的应用服务器上,用来开发大规模、分
liudachu
当你的才华撑还不起你的野心时,那你就应该静下心来渎书
展开
-
并发相关参数指标
概念:此数据指的是Linux系统的负载情况,也就是咱们平时所用Top命令时,最上面显示的数据信息( load average: 0.1, 0.2, 0.5)。此时会显示1分钟、5分钟、15分钟的系统平均Load,很显然load average 的值越低,你的系统负荷越小。Qps基本类似于Tps,但是不同的是,对于一个页面的一次访问,形成一个Tps;一般系统RT 100ms 以内是比较正常的,300ms 勉强可以接受,1s的话再加上一些其他的外因,给用户的体验就是实实在在的不爽了。原创 2023-12-15 11:33:01 · 261 阅读 · 0 评论 -
知乎到底什么是前后端分离?
前后端分离的"前"特指浏览器端(或客户端)。Java服务器端初学者最容易引起误解的一个概念就是: JSP是前端技术。JSP一定一定一定要知道全称:Java Server Page。是运行在服务器端JVM之上Servlet容器里的,只是执行的结果是HTML,响应给浏览器。Java EE先有的Servlet,那时候已经有了ASP(同样要知道是Active Server Page的意思)。由于要在Servlet里面拼大量的HTML代码,所以Java规范学习了ASP,提出JSP。Servlet是Java代码转载 2020-10-24 22:36:15 · 721 阅读 · 2 评论 -
实体类的属性使用封装类的好处
以Integer 和 int 为例进行对比1.如果成员变量的intValue还未确定,用Integer的话,只须令这个成员为NULL; 但如果用int的话,就必然存在问题,因为一个int成员变量的值总是确定的,即使你没给它赋任何值,它的值就是02.对一个对象运用反射机制时,比如setProperty()和getProperty(),都要将Field的值当作对象来处理。Integer成员可以直接用做对象,但int成员还要封装/解封才行3.充当Map的key时,Integer比int更方便...转载 2020-06-18 22:01:57 · 849 阅读 · 0 评论 -
分页查询SQL+mysql 实现显示用户收藏夹【JAVAEE基础】
8.分页SQL通用的标准分页sql每页显示pageSize条记录:(pageSize:每页显示多少条记录)第pageNo页:(pageNo-1)*pageSize,pageSizemysql:从0开始计数,limit 开始,多少条.第0页:select * from emp limit 0,10;第1页:select * from emp limit 10,10;第n页select * from emp limit n*10,10;sqlserver/oracle : 从1开始计数,原创 2020-06-12 22:54:51 · 830 阅读 · 1 评论 -
Ajax+redis实现下拉列表缓存优化用户体验【JAVAEE基础】
Jedis案例需求:1.提供index.html页面,页面中有一个省份 下拉列表。2.当页面加载完成后发送ajax请求,加载所有省份。- 注意:使用redis缓存一些不经常发生变化的数据。 * 数据库的数据一旦发生改变,则需要更新缓存。 * 数据库的表执行 增删改的相关操作,需要将redis缓存数据情况,再次存入 * 在service对应的增删改方法中,将redis数据删除。...原创 2020-06-07 15:03:25 · 496 阅读 · 2 评论 -
Nosql之redis缓存技术【JAVAEE基础】
Redis1.概念:redis是一款高性能的NOSQL系列的菲关系型的数据库。2.NOSQL和关系型数据库的比较- 关系型数据库:mysql、oralce…1.数据之间有关联2.数据存储在硬盘的文件上- 非关系型数据库(NoSQL):redis、hbase…1.数据之间没有关联 :存储key:value2.数据存储在内存中- 一般会将数据存储在关系型数据库中,在nosql数据库中备份存储关系型数据库的数据。3.下载安装- redis.wnidow.conf:配置文件- redis-c原创 2020-06-06 17:39:23 · 176 阅读 · 0 评论 -
Bootstrap使用指南【JAVAEE基础】
Bootstrap1.概念:一个前端开发的框架* 框架:一个半成品软件,开发人员可以在框架基础上,再进行开发,简化编码* 好处:1.定义了很多的css样式和js插件。可以直接使用这些样式和插件得到丰富的页面效果。2.响应式布局* 同一套页面可以兼容不同分辨率的设备。2.快速入门:1.下载Bootstrap2.将css、js、font文件夹复制到项目中3.创建html页面,引入必要的文件模版…响应式布局(栅格系统)同一套页面可以兼容不同分辨率的设备。实现:依赖于栅格系统:将一行平原创 2020-06-06 16:50:01 · 376 阅读 · 0 评论 -
JavaBean & MVC & 三层架构【JAVAEE基础】
5.JavaBean(Java类)5.JavaBean(Java类)定义:(满足以下两点)1.public修饰的类,含有public无参构造函数2.所有属性都是private,并提供set/get。作用:1.减轻jsp的复杂度2.提高代码的复用度使用层面分为两大类:1.封装业务逻辑的JavaBean(登录逻辑 LoginDao.java 等) 可以将jsp中的JDBC代码,封装起来。2.封装数据的JavaBean(实体类,Student.java Person.java) 对应原创 2020-06-05 17:46:25 · 702 阅读 · 0 评论 -
JS正则表达式使用手册【JAVAEE基础】
JS正则表达式1.1 正则表达式正则表达式是一个强大的字符串匹配工具,在js中,正则表达式也是对象正则表达式通常被用来检索、替换符合某个模式(规则)的文本,现阶段主要利用javascript正则表达式主要是完成表单的验证。正则表达式是一种人类很难读懂的文字eg:用户名:/1{3,16}$/1.2 基本语法search 把所有符合条件的数据的位置返回match 把所有符合条件的数据返回replace 替换指定数据i ingore 忽略大小写g global 找转载 2020-06-05 13:39:33 · 318 阅读 · 0 评论 -
js函数调用加括号与不加括号的区别
js函数调用加括号与不加括号的区别1.JS函数被调用时加括号:加括号表示执行的是函数里面的代码,即花括号的部分2.JS函数被调用时不加括号:不加括号表示执行的是整个函数体,目的是引用,代表把这个函数赋值给某个变量...转载 2020-06-04 22:49:21 · 1040 阅读 · 0 评论 -
AJAX & JSON【JAVAEE基础】
AJAX1.概念:ASynchronous Javascript And XML 异步的Javascript 和XML异步和同步客户端必须等待服务器的响应。在等待的期间客户端不能做其他操作。客户端不需要等待服务器端的响应。在服务器处理请求的过程中,客户端可以进行其它操作。Ajax,是指一种无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传原创 2020-06-02 16:14:35 · 193 阅读 · 0 评论 -
Ajax+Json+JdbcTemplate+Druid 异步校验用户名是否存在【JAVAEE基础】
校验用户名是否存在(Ajax+Json+JdbcTemplate++数据库连接池(Druid))大体步骤:1.前段页面(06-regist.html)发送ajax(Json格式 {username:username} )给后台Servlet(FindUserServlet)2.后台(FindUserServlet)通过request获取Json中的username并使用dao(UserDao)层中的isExist()进行数据库判断3.isExist()方法利用JdbcTemplate(queryFo原创 2020-06-02 16:09:27 · 405 阅读 · 0 评论 -
一遍过JQuery【JAVAEE基础】
JQuery 基础:一、概念:一个javaScript框架,简化JS开发* javaScript框架本质上就是一些js文件,封装了js的原生代码。二、入门操作:1.下载JQuery*jquery-xxx.js与jquery-xxx.min.js的区别1.jquery-xxx.js:开发版本。有良好的缩进和注释,体积大一些2.jquery-xxx.min.js:生产版本。程序中使用,没有缩进,体积较小,程序加载快。2.导入JQuery的js文件3.使用…三、JQuery对象和JS对象区别原创 2020-05-31 13:56:01 · 1449 阅读 · 0 评论 -
Session+mysql+MVC实现验证码登录【JAVAEE】
采用MVC结构搭建访问数据库检验用户名密码的Logindao登录是否成功的判断条件:Session中是否含有user1.CheckCodeServlet:产生验证码图片输出,并将验证码内容存入session2.LoginServlet:根据session和request中的数据。先判断验证码,再判断用户名是否正确。上代码Logindaopackage dao;import entity.User;import java.sql.*;/** * 模型层,用于处理登录 */原创 2020-05-31 12:10:48 · 595 阅读 · 1 评论 -
过滤器Filter和监听器Listenter【JAVAEE基础】
JAVAWEB三大组件: Servlet Filter Listenter过滤器Filter在这里插入代码片 *当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能。1.过滤器的作用: 一般用于完成通过的操作。如:登录验证、统一编码设置、敏感字符的过滤...2.使用步骤: 1.实现接口Filter 2.复写方法 3.设置拦截路径。url-pattren/注解代码:@WebFilter("*.jsp")public class原创 2020-05-25 22:15:31 · 351 阅读 · 0 评论 -
一遍过JSP【JAVAEE基础】
1.JSP:动态网页(就是在html中嵌套java代码)动态网页:随着 时间、地点、用户操作的改变而改变,使用到服务端脚本语言(JSP)2.JSP页面元素:HTML、java代码(脚本Scriptlet)、指令、注释页面脚本 1. <% 局部变量、java语句(编译后:service方法中) %> 2. <%! 全局变量、定义方法(编译后:Servlet成员变量位置) %> 3. <%= 输出原创 2020-05-24 17:00:08 · 237 阅读 · 0 评论 -
HttpSession详解【JAVAEE基础】
21.HttpSession详解【基本了解】1.Session 表示会话,不止是所在javaweb中存在,只要是web开发,都有该机制2.在java中对应的类型是:java.servlet.http.HttpSession,简称session会话3.Cookie可以将会话状态保存在客户端,HttpSession可以将会话状态保存在服务器端。4.HttpSession对象是一个会话级别的对象,一次会话对应一个HttpSession对象5.一次会话: "初步理解":用户打开浏览器,在浏览器上发送原创 2020-05-21 10:31:23 · 1612 阅读 · 0 评论 -
Cookie+mysql实现网易十天免登录【JAVAEE基础】
19.Cookie详解:【了解】1.Cookie 曲奇饼干 - Cookie可以保存会话状态,会话状态是保留在客户端上。 - 只要Cookie清除,或者Cookie失效,这个会话状态就没有了 - Cookie是保存在浏览器客户端上的 - Cookie 可以保存在浏览器缓存中,浏览器关闭Cookie消失 - Cookie 也可以保存在客户端的硬盘文件中,浏览器关闭Cookie还在,除非Cookie失效。2.Cookie不止在javaweb中。 - 只要是web开发,原创 2020-05-21 07:18:34 · 608 阅读 · 0 评论 -
跳转方式之转发和重定向【JAVAEE基础】
8.web系统中资源跳转1.跳转的两种方式: -转发forward:一次请求 request.getRequestDispatcher("/b").forward(request,response); -重定向redirect:两次请求 response.sendRedirect("/prj_servlet_10_war_exploded/b"); 或response.sendRedirect(request.getContextPath()+"/b");原创 2020-05-17 22:41:47 · 476 阅读 · 0 评论 -
Servlet线程安全问题【JAVAEE基础】
17.Servlet线程安全问题1.Servlet是单实例多线程环境下运行的。2.存在线程安全问题的情况: -多线程并发 -有共享的数据 -共享数据有修改操作3.JVM中,可能存在线程安全问题的数据 -局部变量内存空间不共享,一个线程一个栈,局部变量在栈中存储,局部变量不会存在线程安全问题。 -常量不会被修改,所以常量不会存在线程安全问题。 -所有线程共享一个堆 *堆内存中new出来的对象在其中存储,对象内部有"实例变量",所以实例变量的内存多线程是原创 2020-05-17 22:24:38 · 177 阅读 · 0 评论 -
web程序中文乱码解决方案【JAVAEE基础】
16.程序乱码解决方案1.乱码经常出现的位置: *数据“展示”过程中的乱码。 *数据“传递”过程中的乱码。 *数据“保存”过程中的乱码。2.数据展示过程中的乱码:-最终显示到网页上的数据出现中文乱码。 第一种情况:执行java程序之后,java程序负责向浏览器响应的时候出现中文乱码: -解决:设置响应的内容类型,以及对应的字符编码方式。 r esponse.setContentType("text/html;charset=UTF-8"); 第二种情况:没原创 2020-05-17 22:13:34 · 306 阅读 · 0 评论 -
单例模式和多例模式的总结【JAVAEE基础】
单例设计模式1.构造方法为私有,这样外界就不能随意调用。2.get的方法为静态,由类直接调用举例:懒汉式和饿汉式多例模式(Multiton)1 、多例类可以有多个实例2 、多例类必须能够自我创建并管理自己的实例,并向外界提供自己的实例。单例和多例的总结:1.什么是单例多例:单例就是所有的请求都用一个对象来处理,比如常用的service和dao层对象通常都是单例的。多例侧指每个请求用一个新的对象来处理,比如action;2.为什么使用单例多例:之所以使用单例,是因为没必要每一个请求都转载 2020-05-17 12:40:40 · 261 阅读 · 0 评论 -
详解HttpServlet、HttpServletRequest接口【JAVAEE基础】
1.HTTP协议 -超文本传输协议 -浏览器和服务器之间的一种通讯协议 -W3C制定,本质是提前制定好的数据传送格式。 包括: -请求协议:从Browser发送到Server的时候采用的数据传送格式 请求行:请求方式 URI 协议版本号消息报头空白行:用来分离消息报头和请求体请求体 -响应协议:从Server发送到Browser的时候采用的数据传送格式。 状态行:协议版本号 响应报头空白行:分离响应报头和响应体的。响应体状态码: 200:一切正常 300/原创 2020-05-15 09:02:49 · 1535 阅读 · 0 评论 -
Servlet适配器设计模式之GenericServlet适配器【JAVAEE基础】
13.适配器1.Servlet程序为了不再继承Servlet接口中不必要的方法。实现适配器2.模仿写一个GenericServlet 适配器import javax.servlet.*;import java.io.IOException;/** * GenericServlet是一个适配器 * 以后无需实现Servlet接口,直接继承适配器,重写service方法。 */public abstract class GenericServlet implements Servlet{原创 2020-05-15 08:34:21 · 369 阅读 · 0 评论 -
Servlet中的ServletConfig接口和ServletContext接口【JAVAEE基础】
Servlet接口中的方法无参数构造方法(固定不动)init方法以上两个方法执行时间几乎是相同的,执行次数都是一次,构造方法执行的时候,对象正在创建,init方法执行的时候对象已经创建在程序创建时执行一段特殊的程序,尽量写在SUN公司提供的初始化init方法中因为编写构造方法时,可能会导致无参数构造方法不存在。service方法这个方法必然重写,完成业务逻辑的处理,请求的处理,以及完成响应。-利用servletResponse方法输出到浏览器servletResponse.se原创 2020-05-15 08:15:19 · 552 阅读 · 0 评论 -
模版方法设计模式【JAVAEE基础】
问题:有两个类学生类和工人类如下public class Student { public void day() { System.out.println("学生-起床"); System.out.println("学生-上课"); System.out.println("学生-睡觉"); }}public class Worker { public void day() { System.out.println("工人-起床"); System.out.println原创 2020-05-13 21:58:38 · 120 阅读 · 0 评论 -
Servlet的生命周期【JAVAEE基础】
Servlet生命周期1.生命周期表示一个java对象从最初被创建到最终被销毁,经历的所有过程。2.Servlet对象的生命周期 Servlet对象的生命周期,javaweb程序员是无权干涉的,包括Servlet对象相关方法的调用,都是无权干涉的 Servlet对象从最初的创建,方法的调用,以及对象的销毁,整个过程,都是由web容器来管理的。 Web Container管理Servlet对象的生命周期。3.“默认情况下”,Servlet对象在对象在WEB服务器启动阶段不会被实例化【想要启原创 2020-05-13 12:08:43 · 274 阅读 · 0 评论 -
Servlet+JDBC ServletWebAppJDBC【JAVAEE基础】
webApp结构注意index.html<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <h1 align="center"><a href="/ServletWebAppJDBC/system/list">显示emp表原创 2020-05-13 11:54:49 · 129 阅读 · 0 评论 -
JAVAEE入门-Servlet基本理念【JAVAEE基础】
1.javaEE:Java企业版SUN公司开发的一个庞大的类库,帮助程序员完成企业级开发2. 系统架构分类-C/S-B/SCS:Client/ServerCS不足:a.如果软件升级,那么全部软件都需要升级b.维护麻烦:需要维护每一台 客户端软件。c.每一台客户端都需要安装客户端软件BS:Broswer/Server客户端可以通过浏览器 直接访问服务端。B/S其实本质上还是C/S架构,还是客户端访问服务器,只不过客户端比较特殊,是浏览器。注意:CS和BS 各有优缺点。3. Ser原创 2020-05-10 20:13:09 · 228 阅读 · 0 评论