- 博客(50)
- 收藏
- 关注
原创 编译原理四种lr文法的判断(LR(0),SLR(1),LALR(1),LR(1))
目录1.判断LR(0)文法:**2.判断SLR(1)文法:****3.判断LR(1)文法:****4.判断LALR(1)文法:**关系:LR(0)<SLR(1)<LALR(1)<LR(1)如果前边一个文法判断是后边都是比如:是LR(0)也是 SLR(1)也是 LALR(1)也是LR(1)不是LR(0),但是是SLR(1)就也是LALR(1)也是LR(1)以此类推1.判断LR(0)文法:看项目中是否有归约-归约和移进-归约冲突。如果无冲突则是LR(0)文法(如果是LR(0)文
2021-12-18 15:08:05 24161
原创 idea手动导入jar包并配置(图文详解)
1.找到jar包所在的文件夹(tomcat->lib是我需要jar包的路径)复制2.2.在webapp新建一个lib,黏贴3.file->projiect structure->libraries->+找到复制到的文件夹选中jar包,将其导入即可通过以上步骤就可以手动导入缺少的jar包了...
2021-09-13 16:48:21 5613
原创 executeQuery()方法与executeUpdate()区别
executeQuery()方法:用于产生单个结果集的语句,例如 SELECT 语句。 被使用最多的执行 SQL 语句的方法是 executeQuery。如果执行存储过程将产生大于 1 的更新计数,或生成多个结果集,则请使用 execute 方法执行存储过程。三、executeUpdate():用于执行 INSERT、UPDATE 、 DELETE 语句或不返回任何内容的 SQL 语句,如: SQL DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。executeU
2021-11-11 20:27:21 747
原创 数据库连接池C3P0-2
实际开发,将C3P0的配置信息定义在xml文件中,java程序只需要加载配置文件即可完成数据库连接池的初始化操作。配置文件不能变,必须是c3p0-config.xml。初始化 ComboPooledDataSource时,传入的参数必须是c3p0-config.xml中name-config标签的name属性。c3p0-config.xml<?xml version="1.0" encoding="utf-8"?><c3p0-config> <default.
2021-10-16 15:35:00 111
原创 数据库连接池C3P0-1
JDBC开发流程加载驱动(一次)建立数据库连接执行SQL语句(connection)ResultSet接受结果集。断开连接,释放资源。数据库连接对象是通过DriverManager来获取,每次都需要向数据库申请连接,验证用户名和密码,执行完SQL语句后断开连接,这样的方式会造成资源浪费,数据库连接资源没有得到很高的重复利用。可以使用数据库连接池解决这一问题。数据调用重复以上过程,实现了资源的重复利用。数据库连接池的基本思想就是为数据库建立一个缓冲池,预先向缓冲池中放入一定数量的连接
2021-10-16 09:26:31 110
原创 JDBC-2
PrepareStatementStatement 的子类,提供SQL占位符功能。使用Statement有两个问题:需要频繁的拼接String字符串,出错率较高。存在SQL注入风险。SQL注入:利用某些系统没有对用户输入的信息进行充分检测,在用户输入的数据中注入非法的SQL语句,从而利用系统的SQL引擎完成恶意行为的做法。所以为了解决以上风险就在实际开发中运用PrepareStatement类。 String username = "lisi";
2021-10-08 20:05:02 77
原创 JDBC-1
JDBCJava DataBase Connectivity.Java数据库连接技术。是一个独立于特定数据库的管理系统,通用的SQL数据库存储和操作的公共接口。 定义了一组标准,为访问不同数据库提供了统一途径。JDBC体系结构JDBC接口包括两个层面:1.面向应用的API,供程序员调用。2.面向数据库的...
2021-10-07 20:22:02 86
原创 Ajax-3
JSONJavaScript Object Notation, 一种轻量级数据交互格式,完成js与Java等后端开发语言对象数据之间的转换需要JSON格式。转换需要应用JSON-lib小工具(参考此链接),下载所需的六个包,然后在项目中导入jar包才能使用(之前写过一篇如何导包)通过Ajax来实现三级联动,写一个选择省市区LocationServletpublic class LocationServlet extends HttpServlet { private static Map&
2021-10-03 11:19:42 115
原创 Ajax-2
传统的web数据交互与Ajax数据交互的区别客户端请求的方式不同传统:浏览器发送同步请求(form,a)Ajax异步引擎对象发送请求。服务器的相应方式不同传统:响应一个完整的JSP页面(视图)Ajax:响应需要的数据客户端的处理方式不同传统:需要等待服务器完成响应并且重新加载整个页面之后,用户才能进行后续操作。Ajax:动态更新页面中的局部内容,不影响用户的其他操作。Ajax语法(基于JQuary)$.ajax({属性})常用的属性参数url:请求的后端服务地址(相当于form里的
2021-10-03 10:12:26 78
原创 Ajax-1
AjaxAsynchronous JavaScript And XML。异步JavaScript和XML。AJAX不是新的编程语言,指的是一种新的交互方式,异步加载,客户端和服务器的数据交互更新在局部页面的技术,不需要刷新整个页面(局部刷新)。优点1.局部刷新,效率更高。2.用户体验更好基于JQuery的Ajax的使用方法1.从JQuery官网找到JQuery,复制下来。JQuery官网2.新建js,将文件复制进去。3.在JSP中引入。 <script type="te
2021-10-03 09:55:38 82
原创 文件的上传下载
文件上传JSP1.input的type设为file2.form表单的method设为“post”,get请求会将文件名传给服务端,而不是文件本身;3.form表单的enctype设置multipart/form-data,以二进制形式传输数据;servletprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
2021-09-30 15:36:17 98
原创 filter-2
Filter的生命周期当tomcat启动时,通过反射机制调用Filter的无参构造函数创建实例化对象,同时调用init方法实现初始化,doFilter方法调用多次,当tomcat关闭时调用destroy来销毁Filter对象。无参构造函数:只调用一次,当tomcat启动时调用(Filter一定要进行配置)。init方法:只调用一次,当Filter实例化对象创建完成后调用。doFilter方法:调用多次,访问Filter的业务逻辑全写在Filter中。 destroy:只调用一次,Tomca
2021-09-29 09:23:42 153
原创 过滤器Filter的使用-1
(熔断器Hystrxis)功能:1.用来拦截传入的请求和传出的响应。2.修改或以某种方式处理正在客户端和服务端之间交换的数据流。如何使用:与使用servlet类似,Filter是javaweb提供的一个接口,开发者只需自定义一个类并实现该接口即可。(一共有三个类,但是最少只实现一个就可以,filter接口中带default的可以不实现)。注意:1.doFilter方法中处理完后必须加filterChain.doFilter(servletRequest, servletResponse);
2021-09-25 21:52:02 138
原创 JSTL详解-2(综合案例)
UserServlet从UserServlet中使用两种方法存储初始的三个值@WebServlet("/user")public class UserServlet extends HttpServlet { //创建加实例化Map private static Map<Integer,User> map = new HashMap<>(); //存入静态数据块 static { //初始的三个数据
2021-09-22 09:34:15 201
原创 JSTL详解
JSTL定义:JSP standard Tag Library,JSP标准标签库,JSP为开发者提供的一系列标签,使用这些标签可以完成一些逻辑处理,比如循环遍历集合,让代码更加简洁,不再出现JSP脚本穿插的情况。实际开发中EL和JSTL结合起来使用,JSTL侧重于逻辑处理,EL负责展示。JSTL的使用1.需要导入jar包(jstl.jar, standard.jar)配置moven从moven导包网站里找到所需要的包,复制下代码,然后copy到pom.xml中 <depe
2021-09-18 21:24:25 1028
原创 C语言指针
什么是指针?指针也就是内存地址,指针变量是用来存放内存地址的变量。定义指针变量:type *var-name;例如:int *p;int var_runoob;把变量地址赋值给指针:p=&var_runoob;访问指针变量存储的地址:printf("%p",p);赋为 NULL 值的指针被称为空指针指针的运算指针的每一次递增,它其实会指向下一个元素的存储单元。指针的每一次递减,它都会指向前一个元素的存储单元。指针在递增和递减时跳跃的字节数取决于指针所指向变量数据类型长度,比
2021-09-15 20:43:25 127
原创 JSP的内置对象作用域
JSP一共有四个内置对象:page、request、ssession、applicationps:cookie不属于内置对象这四个内置对象都有setAttribute、getAttribute方法,都能作为传输数据的载体page的作用域对应的内置对象是pageContext。request的作用域对应的内置对象是request。session的作用域对应的内置对象是session。application的作用域对应的内置对象是application。作用域的范围page: 只在当前
2021-09-13 19:20:41 180
原创 Cookie-2(通过用户登录来对比session与cookie的区别)
session存用户信息session.setAttribute("username",username);取用户信息session.getAttribute(name);生命周期服务端只要web应用重启就销毁,客户端只需浏览器关闭就销毁。退出登录//获取session销毁HttpSession session = req.getSession();//销毁session的方法session.invalidate();cookie存用户信息Cookie cookie = .
2021-09-13 11:54:00 322
原创 Cookie-1
Cookie是服务端在HTTP响应中附带传给浏览器的一个小文本文件,一旦浏览器保存了某个Cookie,在之后的请求和响应的过程中会将此cookie来回传递,这样就可以通过Cookie这个载体完成客户端与服务端的数据交互,如下图:Cookie创建CookieCookie cookie = new Cookie("name","lisi"); response.addCookie(cookie);//这行必须有读取Cookiefor (Cookie cookie:coo.
2021-09-09 19:57:29 375 2
原创 JSP-5(Session-2)
实现会话有两种方式:session,cookie属于同一次会话的请求都有一个相同的标识符:sessionID。session的常用方法String getId:获取当前会话的SessionID;woid getMaxInactiveInterval(int interval):设置session失效时间,单位为秒。void getMaxInactiveInterval():获取当前session失效时间,单位为秒。void getAttribute(String key),通过键获取对应数
2021-09-09 17:40:04 72
原创 JSP-4(Session-1)
Session用户会话服务器无法识别每一次HTTP请求的出处(不知道来自哪个终端),它只会接收到一个请求信号,所以就存在一个问题,将用户的响应发送给其他人,必须有一种技术来让服务器知道请求来自哪,这就是会话技术。会话就是客户端和服务器之间发生的一系列请求和响应过程,打开浏览器进行操作到关闭浏览器的过程。会话状态指服务器和浏览器在会话过程中产生的状态信息,借助于会话状态,服务器能把属于同一次会话的一系列请求和响应关联起来。...
2021-09-09 17:20:22 72
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人