05 2020 档案
摘要:前端jsp页面: 需要注意form标签需要引入这句:enctype="multipart/form-data" <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTY
阅读全文
摘要:1:拦截器 (理解为 符合拦截的要求 就可以 继续访问执行对应的Action 不符合我的要求就会做出对应的处理。) 拦截器和Action完全松耦合。 Struts2的默认使用拦截器有18个 实现步骤: 1 编写一个普通的java类 实现 Intercepter接口 public class lJqA
阅读全文
摘要:1:Struts标签库的位置 2:使用OGNL表达式前 需要在JSP中导入Struts2的标签库 <%@ taglib prefix="s" uri="/struts-tags" %> 3:输出标签 <S:property value = "" /> :如果不写value输出的值 那么默认输出栈顶的
阅读全文
摘要:1.1.ThreadLocal 的作用? ThreadLocal是解决线程安全问题一个很好的思路,它通过为每个线程提供一个独立的变量副本解决了变量并发访问的冲突问题。在很多情况下,ThreadLocal比直接使用synchronized同步机制解决线程安全问题更简单,更方便,且结果程序拥有更高的并发
阅读全文
摘要:值栈(重要)和ognl表达式 (值栈其实是一个接口 它的实现类是OgnlValueStack) 1、 只要是一个mvc框架,必须解决数据的存和取的问题 2、 Struts2利用值栈来存数据,所以值栈是一个存储数据的内存结构 3、 把数据存在值栈中,在页面上利用ognl表达式显示出来 值栈的内存结构
阅读全文
摘要:方法1: implements ServletRequestAware, ServletResponseAware public class Hello implements ServletRequestAware, ServletResponseAware { private HttpServle
阅读全文
摘要:验证代码:主要看构造器会执行多少次 //Action类 public class Hello { public Hello(){ System.out.println("Struts2是多例的 而 servlet是单例的 servlet的 init永远只执行一次 service每次请求都会执行");
阅读全文
摘要:写法1:直接写一个普通的java类 写法2:写一个java类实现 Action接口 写法3:写一个java类继承extends ActionSouport类 //写法1 //public class Hello { // public String hell(){ // System.out.pri
阅读全文
摘要:<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "struts-2.1.dtd" > <s
阅读全文
摘要:通过在web中配置这个 过滤器(也叫核心过滤器) <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 而过滤器最终做的事情就是加载 3个xml文件 (源码
阅读全文
摘要:1:导入对应的核心jar包 2:配置Web <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XML
阅读全文
摘要:BaseServlet package com.cn; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest
阅读全文
摘要://添加员工 public void add(Emp emp) throws Exception{ try { QueryRunner runner = new QueryRunner(JdbcUtil.getDataSource()); /* * 你获取的应该是String格式,然后你转化为了ut
阅读全文
摘要:JDBC的URL=协议名+子协议名+数据源名。a 协议名总是“jdbc”。b 子协议名由JDBC驱动程序的编写者决定。c 数据源名也可能包含用户与口令等信息;这些信息也可单独提供。几种常见的数据库连接 oracle 驱动:oracle.jdbc.driver.OracleDriverURL:jdbc
阅读全文
摘要:1 利用javascript的 location.search方法
阅读全文
摘要:项目的导入 1:IDEA导入Maven项目 1>先将maven项目拷贝到IDEA的工作目录 2>然后再IDEA中点击Open 找到项目的 POM文件进行导入(记住需要勾选对应的选项 尤其是红色标识的位置) 3>检查POM文件中的tomcat等插件的配置看是否正确 比如注意tomcat的端口配置 <b
阅读全文
摘要:1本地仓库的配置 设置本地仓库为该路径E:\mvn_repository apache-maven-3.6.1-->conf/settings.xml文件 加入:<localRepository>E:\mvn_repository</localRepository> IDEA中设置: 每次创建项目时
阅读全文
摘要:Lucene快速入门代码 package cn.itcast.javaee.lucene.firstapp; import cn.itcast.javaee.lucene.entity.Article; import org.apache.lucene.analysis.Analyzer; impo
阅读全文
摘要:1.1,什么是Redis: 参看:https://www.runoob.com/redis/redis-java.html Redis是一个开源的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息的中间件。支持多种数据结构。 字符串Strings 散列 hash , 列表lists, 集合se
阅读全文
摘要:JSON:JavaScript 对象表示法(JavaScript Object Notation)。 作用 是存储和交换文本信息的语法。类似 XML。JSON 比 XML 更小、更快,更易解析。 JSON 对象 var employees = { "firstName":"John" , "last
阅读全文
摘要:1 原生javascript实现ajax请求 参见w3c "值得注意的是写请求路径是:一定不需要加 / “ <script type="text/javascript"> function fun() { var xmlhttp; if(window.XMLHttpRequest){ xmlhttp
阅读全文
摘要:动态代理的格式 Porxy.newProxyInstance( ClassLoader loader, //指定当前目标对象使用类加载器 Class<?>[] interfaces, //目标对象实现的接口的类型 new InvocationHandler() { //事件处理器 @Override
阅读全文
摘要:1.实现一个filter步骤 >编写一个java类实现Lister接口 @WebFilter("/*") //这样就不需要在web.xml文件中再配置了public class EncodingFilter implements Filter { } >在web.xml文件中配置 可以用注解 @We
阅读全文
摘要:EL表达式 ${pageContext.request.contextPath} 5.1 EL作用(替代 <%= %>) 语法: ${变量} 3.1 输出普通字符串: ${name} 3.2 输出对象属性: ${student.name} 注意: .name 相当于 .getName()方法 3.3
阅读全文
摘要:因为Http协议是无状态的(即第一次请求访问 和第二次请求访问之间的数据不能进行交互)所以产生了Cookie 和session 1.Cookie cookie值的格式是key=value;key2=value2 (tomcat8之后cookie支持存储中文数据) Cookie的默认时效为Sessio
阅读全文
摘要:1:ServletContext对象主要的作用: (域对象,获取mime, 获取服务文件的路径) //在一个servlet中,几种获取servletContext对象的方式 request.getServletContext(); this.getServletContext(); //this这里
阅读全文
摘要:1.HTTP请求数据的封装: 3.1 请求行 GET /day09/hello HTTP/1.1 Accept: text/html,image/* -- 浏览器接受的数据类型 Accept-Charset: ISO-8859-1 -- 浏览器接受的编码格式 Accept-Encoding: gzi
阅读全文
摘要:1创建一个简单的servlet(servlet3.0开始支持注解配置) 1创建一个javaee项目 2定义一个类,实现Httpservlet接口 public class ServletDemo01 extends HttpServlet { protected void doGet(HttpSer
阅读全文
摘要:web下的 WEB-INF目录 --web.xml:Web项目的核心配置文件 --classes目录:放置字节码文件的目录 --lib目录:放置依赖的jar包 以下在工具中的结构 如eclipse等工具 访问时默认为 www.localhost:8080/11111/资源 tomcat中的结构是这样
阅读全文
摘要:安装过程可能遇见的问题: 1、黑窗口一闪而过 原因:没有正确配置JAVA_HOME环境变量 我的电脑,右击鼠标选择->属性,->高级->系统变量 解决方案:在系统环境变量中正确配置JAVA_HOME 例如:C:\Program Files\Java\jdk1.8.0_211 再在path中设置:%J
阅读全文
摘要:XML解析——Java中XML的四种解析方式 XML是一种通用的数据交换格式,它的平台无关性、语言无关性、系统无关性、给数据集成与交互带来了极大的方便。XML在不同的语言环境中解析方式都是一样的,只不过实现的语法不同而已。 XML的解析方式分为四种:1、DOM解析;2、SAX解析;3、JDOM解析;
阅读全文
摘要:1.用JS创建文件 var fso, f1; fso = new ActiveXObject("Scripting.FileSystemObject"); f1 = fso.CreateTextFile("c:\\testfile.txt", true); 2.用JS创建并写入数据 function
阅读全文
摘要:JS的原始数据类型有: 1.number; 2.String; 3.boolean; 4.null; 5.undefined; JavaScript 对象 Array Date Math Function arguments Events arguments对象 //arguments的应用 fun
阅读全文
摘要:c3p0连接池 定义: C3P0是一个开源的JDBC连接池,目前使用它的开源项目有Hibernate,Spring等。 数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。我们可以通过设
阅读全文
摘要:JDBC:操作所有关系型数据库的规则,即接口;各个数据库厂商去实现接口提供所谓的驱动jar 1:导入jar包 2:注册驱动 3:获取数据库连接对象Connection 4: 定义Sql 5: 获取Statement对象 6 执行sql接收返回结果 resultset 7:释放资源 package c
阅读全文
摘要:-- 创建用户 -- 格式:create user ''@'' identified by '密码'; CREATE USER 'user1'@'localhost' IDENTIFIED BY '123'; CREATE USER 'user1'@'%' IDENTIFIED BY '123';
阅读全文
摘要:-- 多表操作 1对多 (多的一方维护关系) 多对多(中间表维护关系) 一对一(一般运用的比较少 如果真的是一对一 那还不如设计到一张表单当中即可) -- 多表操作 CREATE TABLE emp( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(2
阅读全文
摘要:Sql分类: 1)DDL(数据库定义语言) 例如:create , drop , alter等 主要操作数据库和表 2) DML (数据库操作语言) 例如:insert, delete, update等 主要操作数据表的数据 3) DQL (数据库查询语言) 例如:select,where等 4)
阅读全文
摘要:MySql的服务启动 cmd--> services.msc(打开服务窗口)--找到mysql服务项目点击启动 或者: cmd(管理员身份打开) --> net stop mysql(关闭) net start mysql(开启) mysql的登录 与退出 mysql -u'账户' -p'密码' 例
阅读全文
摘要:安装:(注意安装路径一定不可以有中文字符) 卸载 默认是C:/programdata目录下的mysql 但是有可能自己存储到了其他的文件夹下 所以具体还的看my.ini中的datadir的配置路径
阅读全文
摘要:1:注解从jdk1.5之后支持 2: jdk中预定义的一些注解 *@Override (检查被该注解标注的方法是否继承于父类) @Deprecated(标注的内容表示已经过时) @SuppressWarnings(压制警告)) 3:自定义注解(本质相当于一个接口,接口能定义什么 注解就可以定义什么)
阅读全文
摘要:一,使用JUnit必须注意的几点 1.测试方法建议使用 public void进行修饰 参数建议为“空参”非静态方法 例如:public void testDemo(){} 2.使用JUnit的类必须拥有一个无参的公开构造方法 3.测试方法上必须使用@Test @BeforeClass 修饰的方法会
阅读全文
摘要:public class AugrumentDemo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.nextLine(); HashMap<Charact
阅读全文
摘要:import java.util.*; public class AugrumentDemo { public static void main(String[] args) { Map<String,String> map = new HashMap<String,String>(); map.p
阅读全文
摘要:使用场景:自定义的数据类型存储到集合中时如果需要按照一定的顺序存储的话 就 需要实现Compareable接口重写 compareto方法定义排序规则, 不然就会按照添加的顺序进行默认存储 需要存储再集合中排序的自定义类Person public class Person implements Co
阅读全文
摘要:注意:自己定义的类用hashset存储时 一定要重写hashcode 和equals方法!!! 参见 java 集合重要概念 (== 和 equals 解读) linkedhashset(双链表加数组结构)与 hashset(单链表加数组存储结构)的区别是 linkedhashset是双链表结构 记
阅读全文
摘要:一、理解”==“的含义 在java中,主要有两个作用。 1、基础数据类型:比较的是他们的值是否相等,比如两个int类型的变量,比较的是变量的值是否一样。 2、引用数据类型:比较的是引用的地址是否相同,比如说新建了两个User对象,比较的是两个User的地址是否一样。 OK。到这就注意了,你会发现,我
阅读全文
摘要:import java.util.ArrayList; import java.util.Collections; import java.util.List; public class DouDiZhuDemo { public static void main(String[] args) {
阅读全文
摘要:1:泛型 泛型:可以理解为未知的数据类型 重点理解:类<T> 这个<T>就好比如 是 “类”的别名!!!!!! 1-1 使用泛型方式创建集合 创建集合是默认的类型为Object 弊端就是会出现想不到的异常 比如:一个object集合中 既放了狗 又放了 人 这个集合就不纯净了! List list
阅读全文
摘要:1:Collection集合 注意:集合与数组的区别之一 ,集合只能"" !!存储“对象”!! 数组可以存储基本类型 也可以存储对象。 集合 >转化为数组 toarray() 数组 >转化为集合 Arrays.aslist(); 1-1 java.util.collection中常用的方法! //迭
阅读全文
摘要:最简单的线程池的实现 import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class ThreadPoolDemo { public static void main(S
阅读全文
摘要:思路是创建两个字符串a和b,再创建两个线程A和B,让每个线程都用synchronized锁住字符串(A先锁a,再去锁b;B先锁b,再锁a),如果A锁住a,B锁住b,A就没办法锁住b,B也没办法锁住a,这时就陷入了死锁。 public class DeadLock { public static St
阅读全文
摘要:Sleep 和 wait sleep不会释放锁,而wait会释放锁; 使用区域不用,sleep是哪都能用,wait只能在同步方法或者同步代码块中。 sleep是Thread调用的, 而wait和notify方法必须是“锁对象”调用的!! 生产者 和 消费者 //实体类 public class Ba
阅读全文
摘要:1.线程的安全问题发生的条件 只有当线程访问了共享的数据时,才会发生线程的安全问题!!! 2.线程的同步代码块,同步方法(静态方法,普通方法) 同步代码块的锁:"为任意的一个字符串都可以锁” 同步方法(普通):锁对象就是 this (静态方法):锁对象就是本类的字节码.class对象 public
阅读全文
摘要:数据结构 栈 和 队列 的结构 数组的结构 String[] str1 = {1,2,3}; String[] str2 = {1,2,3,4}; str1 = str2 查询快(有索引),增删慢(每次都需要从新创建一个新的数组 因为数组的特性是一旦创建是不可以改变大小的)。 链表的结构 特点:查询
阅读全文
摘要:典型的代表 File 其实它代表的并不仅是一个文件,而是一个路径(path)、或者一个文件 1、构造方法File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。File(String parent,String child) 根据指定的父路径和
阅读全文
摘要:import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; //服务器端的代码 写
阅读全文

浙公网安备 33010602011771号