Java
Free Jim
这个作者很懒,什么都没留下…
展开
-
Spring XML的解析
版本说明:Spring 5.2.9(文档引用多是5.3.0)本文侧重于源码的解读文章涉及到的关键字:这里以最简单的ClassPathXmlApplicationContext为例 ApplicationContext context =new ClassPathXmlApplicationContext("applicationContext.xml"); Hello hello=context.getBean("helloImpl",Hello.class);在XML里我们配置好Bean后,原创 2020-11-01 13:13:28 · 1456 阅读 · 0 评论 -
Spring BeanFactory、Bean和Context
版本说明:spring-5.2.8(然后,引用的官方文档基本是5.2.9的)下面会结合Spring的源码,分析Bean的加载(源码篇幅不小,光是网页上看的话体验不好,建议最好另外用文本编辑器查看)1.BeanFactory、Bean和Context之间的关系在了解加载过程之前,我觉得有必明确context和bean的关系,先看一个简单的getBean ApplicationContext context =new ClassPathXmlApplicationContext("applicati原创 2020-10-27 23:19:09 · 504 阅读 · 0 评论 -
JDBC 驱动的加载
最初接触JDBC的时,我是这样加载JDBC驱动的 try { Class.forName("com.mysql.cj.jdbc.Driver"); con=DriverManager.getConnection("jdbc:mysql://localhost:3306/experment1?serverTimezone=Hongkong","root","xxx"); statement=con.createStatement(); } catch (ClassNotFoundExc原创 2020-10-21 21:10:16 · 435 阅读 · 0 评论 -
Servlet Java
一:什么是ServletServlet 说白了就是个类,是个接口然后它的作用是处理服务器接收到的请求在Servlet4.0的文档中是这么描述的:A servlet is a small Java program that runs within a Web server. Servlets receive and respond to requests from Web clients, usually across HTTP, the HyperText Transfer Protocol.原创 2020-10-18 23:25:17 · 156 阅读 · 1 评论 -
Session Java
首先,Session 是什么?简单地说,Session(会话) 是服务器用于辨识用户的一个手段为什么要使用Session\color{blue}{为什么要使用Session}为什么要使用SessionHTTP请求是stateless的也就是说谁都可以向服务器发送HTTP请求接触过爬虫的朋友应该都能理解像python中的requests.get(url)就相当于发送了一个HTTP请求但是,这样单纯的交互只是一次性的也就是,你发送一次HTTP请求,服务器回应你一次你再次向同一个服务器发送HT原创 2020-10-17 18:47:00 · 142 阅读 · 0 评论 -
Context Java
Context 在英文词典中的解释:the circumstances(环境) that form the setting for an event, statement, or idea, and in terms of which it can be fully understood and assessed.You have misinterpreted(误解) my remark because you took it out of context.有一点像我们中文说的“语境”语境可以帮原创 2020-10-15 13:06:48 · 268 阅读 · 0 评论 -
Java 面试准备 JSP
Servlets are pre compiled class files but jsp will compile at runtime only.And we have jasper listener for jsp it will notify the server when ever we are changing the jsp then server will replace old class file with new one. That’s why jsp changes are ref原创 2020-10-14 18:55:47 · 183 阅读 · 0 评论 -
Java 基础知识 package 和 namespace
ss原创 2020-10-02 20:40:47 · 1230 阅读 · 0 评论 -
Java 简单爬虫 代码
试试原创 2020-10-02 18:44:14 · 3426 阅读 · 0 评论 -
Java 基础知识 finalize方法
perform the cleanup原创 2020-10-01 18:31:31 · 263 阅读 · 0 评论 -
Tomcat 与 Eclipse
Tomcat 是Eclipse 用于部署Web应用的容器一:Web 应用如何部署(1)Tomcat 目录下的webapps 目录就是Web应用部署的地方(2)当Eclipse 运行Web 应用的时候,会把相应的资源文件给放到webapps中(在Eclipse 中修改文件内容的时候,webapps 目录下的文件也相应被修改)(当然,Eclipse Workspace 中的文件内容也是同时被修改)(3)webapps 下有对应文件后,我们则需要运行Tomcat安装目录/bin/startup.原创 2020-09-30 13:50:54 · 1248 阅读 · 0 评论 -
Java 基础知识 try catch finally
ss原创 2020-09-29 21:18:49 · 106 阅读 · 0 评论 -
Java 面试准备 4 UTF-8 和 Unicode 解码、编码
sss原创 2020-09-26 21:13:41 · 891 阅读 · 0 评论 -
Java 基础知识 注解 annotation
一:什么是注解注解,如果看他的定义,可能会很迷糊Annotations, a form of metadata, provide data about a program that is not part of the program itself. Annotations have no direct effect on the operation of the code they annotate.元数据,不是程序的一部分,对代码没有直接的影响让人看得很懵我个人觉得注解可以理解为 “标原创 2020-09-23 17:33:43 · 576 阅读 · 0 评论 -
Java 面试准备3 JVM和类加载器
众所周知,Java 是面向对象的一门语言绝大部分的东西都是以class类的形式存在的甚至连把.class文件加载进JVM的类加载器(class loader)都是一个类那有人就会问了,那第一个类加载器是怎么来的呢?这个和鸡生蛋,蛋生鸡的问题就不一样了~这个是有明确答案的首先,JVM 是用C++ 写的(这里指的是 SUN 的默认JVM HotSpot)(维基百科上查的)HotSpot is written in C++(大家可以在命令行下输入)java -version应该会看到原创 2020-09-20 09:42:09 · 155 阅读 · 0 评论 -
Java 基础知识 查看类的加载情况
java -verbose:class XXX(类名)[Opened C:\Program Files\Java\jdk1.8.0_221\jre\lib\rt.jar][Loaded java.lang.Object from C:\Program Files\Java\jdk1.8.0_221\jre\lib\rt.jar][Loaded java.io.Serializable from C:\Program Files\Java\jdk1.8.0_221\jre\lib\rt.jar][原创 2020-09-20 09:41:52 · 780 阅读 · 0 评论 -
Java 基础知识 path和classpath
path 和classpath 都是环境变量path 是为了(javac.exe, java.exe, javadoc.exe 等)能直接使用而设置的环境变量javac hello.java不然,需要输入 javac.exe 的绝对路径classpath 则是为了让JVM找到Java 程序运行时所需要的classes,jar包其查找顺序:Bootstrap classes - Classes that comprise the Java platform, including the cl原创 2020-09-17 16:54:31 · 377 阅读 · 0 评论 -
Java 基础知识 jar包的使用
首先明确一点,jar 包就是里面封装了很多的.class文件一:命令行形式javac -cp json-lib-2.4-jdk15.jar hello.java-cp 也可以是 -classpath给 javac 指定一个classpath ,让 javac 到指定的路径下去找jar 包并且会到jar 包里去检索class 文件有多个 jar 包的则用分号 ; 隔开直接写包名是表示当前目录—相对路径,你也可以写上绝对路径javac -cp D:\aes\json-lib-2.4-jdk1原创 2020-09-17 16:53:14 · 415 阅读 · 0 评论 -
Java 面试准备2 Array List Set Map
1.Array:官方文档的解释是这样的官方文档链接An array is a container object that holds a fixed number of values of a single type.Array是一个容器,储存了一定数量,单一类型的对象The length of an array is established when the array is created. After creation, its length is fixed.Array的长度在其被创原创 2020-09-09 20:45:09 · 158 阅读 · 0 评论 -
Java 面试准备1 JDKJRE JVM .class文件
JDK:Java Development Kit,Java开发工具包其包含了:Java的编译和调试程序,Java程序的运行环境和所需的类库(Ps:这里的编译是把各类编译成.class文件)JDK有:JavaSE,JavaEE等等JDK是面向开发人员的,用于Java程序的编写JRE:Java Runtime Environment,Java 运行环境解释二进制字节码文件(即.class文件)含有Java application launcher(Java 应用程序启动器)和JVM提供Java原创 2020-09-07 09:33:03 · 196 阅读 · 0 评论 -
Java 反射 理解
反射:用于动态加载class类首先,需要了解java程序运行的机制程序是基于JVM虚拟机运行的又Java 是面向对象的编程而JVM并不会一股脑地把你写好的class都加载进内存(这样效率低)但以下三种情况会加载:1.生成类对象–即new2.访问该类静态成员3.class.forname(‘类名’)上面的class.forname(‘类名’)就是反射实现的方法了调用该方法后,原来没有new类便会被加载进JVM内存然后我们再使用构造器Constructor,就可以创建对象了(new原创 2020-09-01 10:21:43 · 94 阅读 · 0 评论 -
Servlet init()
解决context空指针的问题 public void init(ServletConfig config) throws ServletException { // TODO Auto-generated method stub super.init(config); //context 空指针 }原创 2020-07-12 16:35:47 · 184 阅读 · 0 评论 -
上传图片 服务器保存图片
前端:(一个input标签)<input type="file" name="head" id="test" value="上传图片">服务器端:(利用FileItem对象处理表单数据和文件数据) void save_img(HttpServletRequest request, HttpServletResponse response) throws IOException, SQLException { DiskFileItemFactory fac=new DiskFileIt原创 2020-07-12 16:04:56 · 549 阅读 · 0 评论 -
浏览器缓存
有时,我们对代码进行了修改但是,页面的内容没有发生变化可能是因为浏览器缓存的缘故解决办法:清除浏览器缓存原创 2020-07-11 12:42:19 · 126 阅读 · 0 评论 -
sendRedirect到JSP乱码
解决办法:encode,重新编码name = URLEncoder.encode(t.getName(), "UTF-8"); String id=URLEncoder.encode(t.getId(), "UTF-8");String rname=URLEncoder.encode(t.getRname(), "UTF-8");String sex=URLEncoder.encode(t.getSex(), "UTF-8");String city=URLEncoder.encode(t.get原创 2020-07-11 12:01:05 · 447 阅读 · 0 评论 -
Java JS 引号问题
1.单引号2.\"原创 2020-07-11 11:53:55 · 139 阅读 · 1 评论 -
DAO sql 传参
jar包:commons-dbutils---- QueryRunner 和 ResultSetHandler(又含Beanhandler和BeanListHandler)DAOpublic class DAO { private QueryRunner queryRunner; public DAO(){ queryRunner=new QueryRunner(); } public int update(Connection connection, String sql, Object原创 2020-07-11 11:50:23 · 325 阅读 · 0 评论 -
jsp 引号
<a href="gogo?type=back_to_self&name=<%=request.getParameter("name")%>">直接拿来用就行了,不用另外加引号因为编译器会帮我们完成对应的替换工作原创 2020-07-11 11:10:11 · 156 阅读 · 0 评论 -
Java int 字符串 互相转化
String.valueOf(int);Integer.toString(int);int+""原创 2020-07-11 10:59:21 · 352 阅读 · 0 评论 -
inputstream 解决只能读取一次
inputstream只能读取一次如果你需要多次读取解决方案:1.客户端一次发送两次请求表单一次,ajax中再一次主要是因为 request 请求无法备份一份出来2.把inputstream流复制下来实现复制功能的类import java.io.ByteArrayOutputStream;import java.io.InputStream;public class StreamUtils { public static byte[] getByteByStream(InputS原创 2020-07-10 18:16:20 · 1540 阅读 · 0 评论 -
Java cookie
1.设置CookieCookie coo = new Cookie("key", "10086");coo.setMaxAge(60*60);//设置时间,单位是秒response.addCookie(coo);2.取CookieCookie coos[] = request.getCookies();//获取request中cookie集合//循环遍历 for(Cookie coo:coos){ if(coo.getValue().equals("10086")){}}...原创 2020-07-10 17:59:44 · 100 阅读 · 0 评论 -
c3p0 使用
1.jar包需要的jar包2.c3p0的配置<?xml version="1.0" encoding="UTF-8"?><c3p0-config> <!-- 默认配置,如果没有指定则使用这个配置 --> <default-config> <property name="user">root</property> <property name="password">原创 2020-07-10 17:56:22 · 204 阅读 · 0 评论 -
前端 后端 json和jsonArray处理
JSONObject json=new JSONObject();json.put("car_name","奔驰");JSONObject json=new JSONObject();PrintWriter out = response.getWriter(); out.append(Json.toString());原创 2020-07-10 10:52:43 · 1452 阅读 · 0 评论 -
Web应用 eclipse 图片上传需要刷新才能正确显示
解决方法:修改图片保存路径将其保存在Tomcat的 webapps 目录,找到对应的项目文件夹里用eclipse把项目部署在Tomcat上,把图片单纯的保留在当前项目文件夹内的话,是需要刷新才能正确访问图片的因为我们实际用浏览器访问文件时,实际请求的是Tomcat–webapps 下的文件!...原创 2020-07-10 09:28:13 · 678 阅读 · 3 评论 -
修改文件后是否需要重启服务器
一般来说,前端的页面,在修改时是不需要重启服务器的刷新就行了一次刷新意味着一次新的请求,文件名没变,服务器返回的则是修改后的新文件而对后端的文件进行了修改,则一般是需要重启服务器的相当于跑着的赛车要换胎的话需要停下来...原创 2020-06-25 11:22:28 · 2753 阅读 · 0 评论 -
Java 控制鼠标的一个简单的脚本
import java.util.Scanner;import java.awt.AWTException;import java.awt.Dimension;import java.awt.HeadlessException;import java.awt.MouseInfo;import java.awt.Point;import java.awt.Rectangle;impor...原创 2020-06-23 19:53:45 · 2778 阅读 · 0 评论 -
JavaEE 不按指定目录访问文件
解决方法:不使用内嵌浏览器,而用Chrome等外部的浏览器原创 2020-06-18 18:02:47 · 147 阅读 · 0 评论 -
JavaEE 请求转发和重定向
请求转发:带有数据,而且可以访问到WEB-INF下<jsp:forward page="target.jsp"></jsp:forward>RequestDispatcher dispatcher=request.getRequestDispatcher("hello.jsp");dispatcher.forward(request,response);重定向:相当于第二次URL访问,不带数据,而且也访问不到WEB-INF下response.sendRedirect("原创 2020-05-10 12:14:15 · 360 阅读 · 0 评论 -
java 先赋值 后声明
public class S{ a=1; //这里是不会报错的 System.out.println(a); //按代码顺序执行,允许先赋值,但是不能使用,这里会报错 private int a=2;}原创 2020-05-01 19:03:02 · 517 阅读 · 0 评论 -
Java 静态方法
一:main 函数以外的静态方法调用方法:类名 . 静态方法Factory.getInstance("Apple");二:main 函数内的静态方法直接就可以调用f("Hello world!");原创 2019-12-07 11:55:20 · 81 阅读 · 0 评论