Java
文章平均质量分 82
Java基础和服务器开发基础
尬尬_
我的互联网笔记本
展开
-
Java日记之Tomcat配置与启动
书接上文 ,讲了这么多篇 ,我们的网站仍然是无法联网的 ,因此 ,需要借助Tomcat写在最前面如果Tomcat配置完成后无法正常访问本地页面,如上图所示 ,请????参考文献一.什么是Tomcat即web服务器 ,是一台挂在公共网络上的主机在使用http请求是 ,目标电脑上必须要有web服务器的支持具体介绍:bin运行目录logs运行日志 ,存放报错的地方conf配置(Tomcat的各种参数)webapps项目的目录 ,需要放在这个文件夹里lib原创 2020-07-12 15:11:44 · 151 阅读 · 1 评论 -
SSM项目客户端部分&BUGS
为什么CSDN更新的字体这么难看???文章目录前言一、设计思路二、数据库设计1.Tomcat中项目相似度问题2.session问题 : 为什么我设置不上session!总结前言我快累死了…写了半个月才写完客户端一、设计思路二、数据库设计不太规范1.Tomcat中项目相似度问题在生成前端项目的时候,如果在tomcat的webapps目录下存在一个与现有项目相似度极高的项目,并且当前的项目无法发布到tomcat下于是在我们使用连接进行跳转的时候,会一直报404,网上很多都是路径错误问题原创 2020-09-06 20:13:57 · 114 阅读 · 0 评论 -
Servlet的几个常见错误
最近学了servlet的几个最基本的点 ,啊!!! 真的很容易犯错 ,下面就记录一些因为servlet导致的错误一.web.xml标签没拷众所周知 ,我们每定义一个servlet的时候 , 就会在web.xml中生成一个对应的标签 , 然而当你直接白嫖别人的servlet的时候…往往会忘记拷贝其中的web.xml ,这就会导致出现????(白嫖同学一个图)二.服务器没开或者没清缓存这就不多说的三.为什么我的查询界面查不出我的数据咳咳 ,建议在后台输出一些自己的SQL语句 ,观察观察你的where原创 2020-07-18 17:04:52 · 262 阅读 · 0 评论 -
java.io.FileNotFoundException:apache-tomcat-8.5.57-windows-x64\apache-tomcat-8.5.57(系统找不到指定的路径。)
今天发现一个问题如下java.io.FileNotFoundException: D:\工具软件\apache-tomcat-8.5.57-windows-x64\apache-tomcat-8.5.57\webapps\ProductAddition\upload(不给你看,哼) (系统找不到指定的路径。)原因 :在每一次重启编译器或服务器的时候 ,我们创建的专门存放文件的文件夹就会消失 ,因为 : 我们将文件存在服务器硬盘 ,随着服务器的重启 ,创建的文件夹就会被删除(又或者是 ,你根本就忘了原创 2020-07-16 15:03:28 · 5420 阅读 · 0 评论 -
Java日记之JSP基础二 (Request & Response)
本文将以JSP作为目的地梳理Request & Response的区别书接上文 ,我们在前面好几篇前 ,提了一嘴action属性 ,它是表单数据提交的目的地 ,需要指定一个后台的服务位置, 如Servlet ,JSP这里需要特别强调的是 ,我们一般不推荐使用JSP作为目的地,尽管它可以作为后台一.RequestRequest是JSP的内置对象 , 无需创建直接使用.1.功能: HTTP请求对象 ,获取HTTP中的数据 ,并封装为一个对象2.常用方法:getParameter(name原创 2020-07-13 06:36:12 · 161 阅读 · 0 评论 -
org.apache.catalina.core.ApplicationDispatcher invoke 和 为什么我的数据在前端无法显示
太丢人了太丢人了…事情是这样的 : 今天为了调试刚学的JSTL ,于是傻呵呵的我把jstl.jar 和 standard.jar 拷贝到了跟JDBC连接的jar包同一个目录下 ,如图所示结果怎么都显示不出数据 ,而且一直报500错误 ,直到我看明白实例程序 ,是把它copy到WEB-INF的下的 ,还是太菜啊…至于之前的c.tld导致的500错误 ,????...原创 2020-07-19 15:43:02 · 780 阅读 · 0 评论 -
Java日记之 Servlet基础一
既然是基础 ,还是基础一 ,那就只写点基本概念吧????背景前面我们曾经提到过 ,JSP做后台服务页面的效果并不理想 ,因此,需要servlet的支持基本概念Servlet : 纯后台服务程序 ,代替JSP处理后台业务如何创建: 在src下new一个即可生命周期: 在第一次访问时就会创建 ,可修改创建时间如果指定了load-on-startup为负数 ,即在第一次访问时创建如果指定了load-on-startup为非负数 ,则在服务器启动时就会创建当然 ,也可以通过该属性修改servlet原创 2020-07-13 20:59:00 · 113 阅读 · 0 评论 -
Java日记之MVC
这部分算是B/S模式的一个综合吧话不多说 ,先上知识点一.基本概念M : model 的缩写 ,实现的载体是Java Bean 和 业务BeanJavaBean是目前常用的一种形式 ,只有属性和get/set方法处理不了业务逻辑 ,所以在使用时 ,要增加一个service层(后面会讲)V : view的缩写 ,是与用户交互的部分1.接受用户信息(比如表单) 2.展示信息 写在WebContent下主要由JSP和HTML实现C : C是control的缩写 ,实现的载体是servlet业原创 2020-07-15 20:26:34 · 109 阅读 · 0 评论 -
JavaWeb课设超市管理系统
把开源的变成自己的,把自己的变成祖传的一.要求二.技能树三.思路四.代码五.总结原创 2020-07-31 08:35:58 · 2236 阅读 · 9 评论 -
Java日记之Ajax联动加载省市区县
又是无精打采的一天 , 教练开始催我考科目一了 , 殊不知我连书都没翻开本文讲讲Ajax的一些低端操作 , 联动加载省市区县需要的技能点1.JSON : json是独立于编程语言的 , 属于一种轻量级数据交换格式.由键值对组成 , 键值对之间由逗号隔开 {"key":"value"}当需要表示数组时 , [{"key","value"} , {"key","value"}]在使用时 ,需要拷贝jar包 gson-1.6.jar , 能够把数据结构转换为json格式Ajax前台如何解析json?原创 2020-07-27 10:09:21 · 144 阅读 · 0 评论 -
Java日记之JSTL基础
写点常用标签基本概念JSTL ,即JSP标准标签库 ,用于替代JSP代码中的Java代码 ,例如一些控制结构 ,提高JSP的可读性如何导入 将jstl.jar 和 standar.jar 拷贝到lib下 ,然后再Bulid path ,最后也是最重要的 ,需要把 JSTL的指令拷贝到我们的JSP代码的顶部(类似于C++的#include)EL表达式 : 用于取值 ${变量名}当多个域中有同名参数时 ,EL表达式取的是最小范围的作用域介绍 : request < session <原创 2020-07-19 09:26:36 · 161 阅读 · 0 评论 -
Ajax技术与模拟QQ邮箱登录
一.基本概念二.重要方法模拟代码//登录页面<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title><style> body{ background-size: cover; background: url('img/bg.jpg'); } #wrapper{ position:原创 2020-07-23 08:20:00 · 1157 阅读 · 0 评论 -
Java日记之Servlet基础二(文件上传)
在使用servlet上传普通控件时 ,是否指定enctype都无所谓 ,但是当上传文件时,情况就不一样了实现思路①在上传时 ,我们必须在form表单上指定enctype为multipart /form-data②同时需要重写doPost(); [因为前端传的是文件,所以我们不能getParameter()]③创建一个磁盘文件项工厂DiskFileItemFactory类 的对象factory和服务文件上传ServletFileUpload load = new ServletFileUpload(原创 2020-07-14 07:17:01 · 161 阅读 · 0 评论 -
Java日记之Filter过滤器处理登录问题
(试一试新出的模板)文章目录前言一、过滤器是什么?二、使用步骤1.引入库2.读入数据总结前言想象一个情景,我们在浏览淘宝网页的时候,在没有登录的情况下,我们点击收藏某商品,或者是执行一个购买操作,这时马老板会亲切地给我们弹出一个登录界面,提示我们未登录无法执行上述操作.如果对这非常熟悉,好了,那你就成功一半了一、过滤器是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as np原创 2020-08-14 21:41:57 · 874 阅读 · 0 评论 -
Java日记之JSP基础三(session & application) [未完待续...]
书接上文 ,本文介绍session 与 application一.sessionsession对象常用于用户的登录 ,追踪用户的状态生命周期 : 在访问服务器时创建 ,当使用同一个浏览器再次访问时 ,不会再次创建死亡 : ①超过30分钟无请求时②浏览器被关闭时工作流程 我们的session对象会有一个唯一的ID ,以此ID来判断该浏览器是否曾经来过 (底层仍然是一个cookie)当session对象创建以后 ,会生成一个session ID ,这个ID会被返回到浏览器 ,并在cookie上设置原创 2020-07-13 20:33:04 · 109 阅读 · 0 评论 -
The superclass “javax.servlet.http.HttpServlet “ was not found on the Java Buile path解决方法
法一这个包在Tomcat下的libs文件夹内 ,需要右键项目 ===> Build path = ==>Add library ===> 添加 Server Runtime===> 选择适合自己版本的Tomcat ===> 找到servlet-api.jar法二选择调整target Runtime右键项目 ===> properties ===>Targeted Runtimes ===>勾选tomcat 并finish...原创 2020-07-13 20:07:14 · 457 阅读 · 0 评论 -
Java日记之JSP基础一
书接上文 ,用HTML写出来的网页是静态的 ,无法达到一个较好的使用 ,因此 ,我们还要学习JSP动态最近高产似那啥1.What is JSP?JSP全称 Java server pages Java服务页面值得注意的是 ,JSP不是JavaScript!!! 搞混会显得你很low很菜2.How to create a JSP注意 : 如果有中文 ,请把所有字符集 charset改为 UTF-8 ,否则Eclipse会报编码不可用①在webcontent下 ,new jsp file在新生原创 2020-07-12 15:28:48 · 86 阅读 · 0 评论 -
ATM自动存取款机
public class Test { // 存储用户 public static ArrayList<User> list = new ArrayList<User>(); static Scanner scan = new Scanner(System.in); public static int index = -1; public static void main(String[] args) { System.out.println("==========欢原创 2020-05-13 20:19:41 · 244 阅读 · 0 评论 -
Java一阶段课设之停车场管理系统(带数据库MySQL)
课设的一些小问题和老师的建议数据库的表,其中车牌号可以单独分一张 ,与用户表关联 ,这样更加简洁明了第一个switch的返回上一级有bug ,返回不上去接口Function ,应该改成抽象类,接口是有特定功能的抽象类如果要写接口 , 那应该将登录, 注册这些特定功能的方法写接口中登录账户以后, 目前程序是要求输入账户查看个人信息的 ,这样就会存在信息泄露 ,应该改成登录后, 依据登录账户查信息 ,而不是要求输入ID查信息贴原码链接(失效了请私信)连接提取码:r58h..原创 2020-06-06 22:01:32 · 1454 阅读 · 0 评论 -
JUC线程安全集合,辅助类与线程池
文章目录一、集合线程安全问题1. ArrayList解决方案CopyOnWriteArrayList原理2. HashMap解决方案3. HashSet解决方案二、多线程锁1. sync同步锁2. 公平锁和非公平锁3. 可重入锁4. 死锁三、JUC辅助类1. 减少计数 CountDownLatch2. 循环栅栏 CyclicBarrier3. 信号灯 Semaphore四、线程池1. 自定义线程池1. 4种拒绝策略2. 自定义线程池提示:以下是本篇文章正文内容,下面案例可供参考一、集合线程安全问题原创 2021-07-28 11:27:39 · 486 阅读 · 0 评论 -
并发编程JUC基础一(synchronized,Lock)
文章目录前言一、基本概念1. 什么是线程?2. 什么是并发?3. 线程的状态4. wait() 和sleep()的异同点5. 管程6. 用户线程和守护线程二、synchronized1. 概念2.多线程编程基本步骤Lock接口1. 可重入锁2. 线程创建时机3. 线程间的通信虚假唤醒前言忙里偷闲学点JUC~一、基本概念1. 什么是线程?线程就是单独的资源类,没有任何附属操作2. 什么是并发?多个线程操作一个资源类,把资源丢入线程即可3. 线程的状态这里主要讲两个特殊的线程状态,WAIT原创 2021-07-19 20:13:10 · 196 阅读 · 0 评论 -
Java日记之正则表达式(基础语法与在Java中的使用)
文章目录前言一、正则表达式是什么?二、工具和基本语法1.匹配字符2.量词3.字符边界4.匹配模式5.分支结构前言先从工具讲起一、正则表达式是什么?对待正则表达式 , 应该将其看成是一门独立的语言 , 用于复杂的文本操作中提取相应规则对应的文本 , 就是通过一个规则匹配一类字符二、工具和基本语法工具使用找在线版的就可以 , 毕竟不会用它来写代码下面讲讲语法1.匹配字符1. \d 匹配任一数字 (注意这里我写的是一)2. \w 任意字母数字下划线3. \s 匹配空格或制表符或换行符4原创 2020-09-30 10:59:01 · 621 阅读 · 0 评论 -
Java日记之对String类型使用indexOf() & parseInt()
项目场景:例如:在开发过程中经常要使用到标题的两个方法,然而对它知之甚少,下面总结一下用法和共性特性共性:写在前面 : ampm.substring(0, 1)的值是9System.out.println(Integer.parseInt(ampm.substring(0, 1))+12);System.out.println(Integer.valueOf(ampm.substring(0, 1))+12);输出结果为 : 两个21但是当参数为null 或 不能被解析为基本类型时,两个方原创 2020-08-16 10:48:11 · 185 阅读 · 0 评论 -
Java日记之GUI基础入门
一.组成与定义swing组件可以细分为容器与组件两部分其中,容器 : JApplet ,JFrame(窗口操作) ,JDialog(对话框)组件 : AbstructButton ,JTextComponent二.代码演示原创 2020-08-12 14:36:13 · 95 阅读 · 0 评论 -
Java日记之正则表达式将多个空格换为一个
/** * 给定输入的字符串,将字符串中的单词顺序颠倒,但要保持单词的字符顺序。例如:给定 input=“changchun university of science and technology”, 输出output=“technology and science of university changchun”。 解答过程中,要注意对特殊情况的处理,例如,输入为“ ”,即多个空格时,要输出“ ”,即一个空格 * * */ static Scanner scan = new Scann原创 2020-08-03 15:12:56 · 1144 阅读 · 0 评论 -
Java日记之多线程三(多线程同步)
书接上文 ,Java的多线程在同步以后,才能发挥最大效益又到周三了 , 期末复习是真的头大, 列个提纲跟预习一样, 也不知道能不能冲一波大珩班????话不多说 ,开干线程安全原创 2020-06-10 13:40:13 · 91 阅读 · 0 评论 -
Java日记之多线程二(生命周期,状态转换及线程调度)
书接上文 ,上文中我们学习了线程的基本内容 ,本文将介绍线程的生命周期,状态转换和线程调度这部分的内容极其理论较强 ,会比较枯燥一.生命周期与状态转换众所周知 ,Java的所有对象都是具有生命周期的 ,线程也同样具有生命周期在线程中的任务代码运行完或出现ERROR与未被捕捉的异常时 ,线程的生命周期就会结束我们Java官方给出了6中不同的状态 ,表示线程运行状态1.新建状态(NEW) 建立线程对象后的状态 ,此时JVM虽然已经为其分配了内存 ,但是仍然无法运行 . 打个比方, 张三在深圳原创 2020-06-09 16:47:51 · 137 阅读 · 1 评论 -
Java日记之多线程一(概念,实现以及后台进程)
本文将介绍线程的概念 , 实现 与后台进程线程概念每个程序都是一个进程 ,进程又可分多个可执行单元 ,每个单元都是一个线程操作系统的每个进程 ,至少都包含着一个线程实际意义 : 充分利用CPU资源 ,提高程序运行效率须知: 看似CPU是同时执行多个线程 ,实际上, 在某一时间内 ,CPU只能执行一个线程 ,但是由于速度极快 ,给人一种同时执行的错觉main()函数是主线程线程的创建与实现Java提供三种方法实现多线程① 继承Thread类重写run()方法② 实现Runnable接口 ,原创 2020-06-07 09:29:27 · 162 阅读 · 0 评论 -
Java日记之IO流(字符流部分)
书接上文 ,对于数据库的操作我们已经了解了一二 , 下面讲讲对文件的操作今天有点sad...I/O流概述1.按数据单位的不同区分 : 字符流和字节流字符流以字符为单位读取 , 字节流以字节为单位读取2.按传输方向分 : 输入流 和 输出流输入 : 由源—>程序输出 : 由程序—>源...原创 2020-05-27 13:27:50 · 210 阅读 · 0 评论 -
Java日记之JDBC批处理与分页
书接上文 , 在了解完JDBC事务后 ,下面让我们继续学习JDBC的批处理与分页作业亿点点多 ,最近体会到了英语的重要性, 网上很多译文翻译的感觉只有译者看得懂预备知识分页的效果最常见的就是amdc…咳咳…懂的都懂… 就不贴图了什么 , 还看不懂? 那就上淘宝看看批处理顾名思义 , 就是同时执行很多SQL语句需要将这些SQL语句装入缓冲区 , 方法是addBatch(); (前文有小小的提了一下 ,这里具体讲解)步骤 : ①先写很多SQL语句②逐个装入addBatch();③执行st原创 2020-05-23 15:54:41 · 130 阅读 · 0 评论 -
Java日记之JDBC事务
书接上文 , 上文我们将到的JDBC操作都是孤立的 , 一旦两句SQL间出现异常, 数据库将无法执行一部分操作 ,造成损失 , 因此本文将讲述JDBC的事务C++课设是真的麻烦,也可能我太菜了写在前面提及事务 , 事务的范围很广 , 举个例子 , 注册QQ号在注册之前 , 你必须填写你的个人信息 , 然后是获取验证码 , 然后绑定手机那最后一步是? 没错 ,就是提交 ,在你提交之前 , 你的任何操作都到不了鹅厂的数据库(打个比方,具体如何我也不知道,理是这么个理) ,只有你最后提交通过了 ,原创 2020-05-23 15:09:18 · 106 阅读 · 0 评论 -
Java日记之JDBC预处理 , 防注入与实体关系映射(含图解)
书接上文 , 使用上中查询,修改方法十分不方便 , 并且安全性较低 , 因此本篇介绍安全性更高的预处理和更加通用的实体关系映射预备知识实体关系映射 :ORM(Object/Relation Mapping): 对象/关系映射 , 将对数据库的操作映射为对Java对象的操作预处理: 将MySQL语句进行一次预处理 , 可确保对数据库的操作不会被恶意修改PreparedStatement接口 :背景 在实际开发中 , 往往需要将程序变量作为查询的条件 , 且Statement接口安全性不高 ,因此需原创 2020-05-21 22:34:49 · 220 阅读 · 0 评论 -
Java日记之图解JDBC加载路径,导入驱动( Eclipse, Bulid path)
一.下载驱动包官网地址 : [http://dev.mysql.com/downloads/connector/j/](如果打不开 , 请百度MySQL官网)单击Platform Independent ZIP Archive后的download , 在弹窗中点击No thanks, …下载后解压即可二.创建项目环境 , 导入驱动①新建一个Java项目 //别选错了 ,必须得是Java项目②右键 =-> [new]=-[Folder]③ 在弹窗中将其命名为lib④复制驱动包到lib原创 2020-05-19 23:36:02 · 584 阅读 · 0 评论 -
Java日记之JDBC初探
书接上文,在学习完MySQL基础后 , 接下来学习如何在Java程序中使用MySQL困啊太困了...要学的总是太多,学校的课现在又开启了严格模式...JDBC概念 :一 . 一些重要的概念 :①JDBC ? JDBC全称为 : Java DataBase Connectivity (Java程序使用连接数据库的方式访问数据库)②驱动 ? 在计算机中 , 用于软硬件间通信的工具就是驱动 , 起到桥梁的作用在Java中 , JDBC驱动就是负责沟通数据库与Java程序的桥梁③后缀 .jar?原创 2020-05-19 23:15:06 · 143 阅读 · 0 评论 -
欠账
先写点欠的知识点 , 不然到最后就鸽了 接口 内部类 Lambda表达式 GC垃圾回收 StringBuffer 包装类 Collection集合遍历 TreeSet TreeMap Properties集合 泛型 常用工具类 聚合操作原创 2020-05-09 22:15:23 · 113 阅读 · 0 评论 -
Java之异常处理
书接上文 , 由于开发中经常会出现一些意料之外的错误 , 因此为增强程序健壮性 , Java中增加了异常处理机制一.概念//未完待续原创 2020-05-08 22:21:06 · 101 阅读 · 0 评论 -
Java数据结构之易忘/错代码
一.遍历LinkedList中的HashMap , 将value相加步骤: 1.找到list中的指定位置的HashMap , 2.用一个set集合将map中的key存入(存入操作使用keySet()方法 )3.加强for循环遍历set集合 , 用map中的get()方法找到相应key所对应的valueSystem.out.println("请输入要查询的考试"); Scanner scan1 = new Scanner(System.in); int userInput1 = scan原创 2020-05-08 22:18:28 · 108 阅读 · 0 评论 -
Java数据结构之Map集合遍历
/***/原创 2020-05-08 22:10:09 · 123 阅读 · 0 评论 -
Java日记之HashMap
书接上文 , 上篇我们讲了HashSet集合 , 它是基于hash的无序无重的集合 , 这篇讲讲HashMap本篇将采取清晰的分层结构来写 , 也是吸取前N篇博客作用定位模糊不清的教训一. Map接口前文我们将了关于Collection接口的几个实现类(其实还没讲完 , 以后会补) , 我们知道 , 除了单列的Collection , 我们还有双列的Map集合1.概念 : 类似于函...原创 2020-05-07 17:11:03 · 110 阅读 · 0 评论 -
Java数据结构之HashSet
set接口简介Set接口中的元素是无序的 , 并且会以某种规则保证存入的元素不会重复出现分为HashSet 和 TreeSet 两个具体实现HashSet顾名思义 , 它是由hash值确定元素在容器中的存储位置的 , 下面我们介绍一下什么是hash?hash 即散列 是分散排布的 , 由hash函数确定排序的规则什么是hash函数?一般形式 F(KEY) , 是关键字key与记录...原创 2020-05-03 10:56:19 · 272 阅读 · 0 评论