自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 java_web:使用js方式实现Ajax

js方式实现Ajax1.Ajax是由异步js和xml来实现的a.异步刷新(刷新页面部分模块)例:若网页中某一个地方需要修改,使用异步刷新的话,只会刷新需要修改的地方,其他地方保持不变。b.全局刷新(刷新整个页面)例:若网页中某一个地方需要修改,使用全局刷新的话,会重新加载(请求转发,重定向,超链接等方式)整个页面。2.使用js实现ajax步骤(主要通过XMLHttpRequest对象来完成) a. //定义全局的XMLlHttpRequest对象 xmlHttpRequest=new

2020-12-31 15:55:30 208

原创 java_web:session对象的绑定,解绑,钝化,活化

session对象的绑定与解绑,钝化和活化1.与监听对象创建和销毁以及监听对象中属性的变更的区别不需要在web.xml中配置监听器2.绑定与解绑//监听绑定 public void valueBound(HttpSessionBindingEvent event) { System.out.println("【绑定】Bean对象,将Bean对象增加到session域"+",绑定的对象:"+this+",sessionId:"+event.getSession().getId()); }

2020-12-31 11:01:06 302

原创 java_web:监听器的使用

监听器的使用1.使用监听器的步骤a.编写监听器类,实现要监听对象对应的接口b.在web.xml中配置监听器 <listener> <listener-class>com.xiaochen.listener.AListener01</listener-class> </listener>2.监听器的作用i.监听request,session,application对象的创建和销毁ii.监听request,session,applica

2020-12-30 22:02:54 169 1

原创 java_web:过滤器的使用

过滤器的使用1.过滤器简介a.过滤器的作用:拦截请求和响应b.响应和请求都需要过滤器放行简略图2.使用过滤器的两个要点a.新建一个过滤器类,可以通过3种方式实现 i.继承过滤器父类 ii.实现过滤器接口 iii.在类名前增加注解b.在web.xml中配置过滤器类,类似于servlet的配置若存在多个过滤器,则过滤器的执行先后顺序是由<filter-mapping>来决定的<!--配置过滤器代码--> <filter> <filt

2020-12-30 16:33:19 321

原创 java_web:JSLTL标签的使用

JSLTL标签的使用1.提前准备好2个jar包,且在jsp页面需要写该行代码<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>jstl.jarstandard.jar2.核心标签库有3个:通用标签库,条件标签库,迭代标签库 a.通用标签库(set,out,remove) i. 给变量或对象赋值:<c:set/> :作用等同于request.setAttribute()方法 在某个作

2020-12-30 11:29:20 240 1

原创 java_web:EL表达式的使用

EL(Expression Language)表达式:1.EL表达式可以代替jsp页面中的java代码传统的jsp中用java代码显示数据的弊端:类型转换,需要处理null,代码参杂 jsp示例: <% Student student=(Student)request.getAttribute("student"); out.print(student.getSid()); %>使用EL表达式显示数据的好处:直接获取数据,未赋值的数据直接不显示而非显示null,提高jsp代码

2020-12-29 17:48:22 551

原创 java_web:文件下载操作

3个固定流程实现文件下载(不需要依赖任何jar包)1.jsp页面请求servlet(form表单或超链接形式)2.servlet通过文件的地址,将文件转为输入流读到servlet3.通过输出流将刚才已经转为输入流的文件输出给用户应用实例:写一个jsp页面(超链接形式)请求servlet实现文件下载1.在WebConten下新建一个文件夹res,在此存放需要下载的文件2.在目录WebContent下创建一个jsp页面download.jsp<%@ page language="java"

2020-12-29 10:39:04 271 1

转载 java_web:文件上传操作

文件上传操作a.jsp表单提交页面注意事项(3个属性需要注意)1.enctype="multipart/form-data": 普通表单提交默认enctype="application/x-www-form-urlencoded";但是当表单中存在文件类型时,需要设置enctype="multipart/form-data", 它不对字符进行编码,用于发送二进制的文件(即所有文件类型,如视频、图片、音乐、文档都可以用此类型enctype);还有一种enctype="text/plain"用于发送纯

2020-12-29 10:17:09 410

原创 java_web: 基于三层实现学生信息管理系统3.0

基于三层实现学生信息管理系统3.0上一版本:2.0涉及知识点:mysql实现分页原理优化内容:1.前端优化:将显示所有学生内容以表格的形式显示,且显示学生数据的表格下有数据页操作按钮(首页,上一页,下一页,尾页)2.后台代码的封装:DBUtil工具类实现通用的计算数据总数,在dao层实现查询sql分页后的对象集合。先来一张结果图应用实例:运用三层架构实现对学生信息得增删改查,且实现分页查询功能项目目录结构图1.需要用到的数据库与数据表:与2.0版本相同此处sql代码略过2.导入数据库

2020-12-28 12:30:38 1253

原创 java_web:分页的实现

分页的实现涉及知识点:mysql实现分页原理涉及5个变量(属性)1.数据总数 查询数据库,select count(*) from 表名2.页面大小 由用户自定义3.总页数 若数据总数为10,页面大小为2:总页数=10/2 若数据总数为13,页面大小为2:总页数=13/2+1 ---》 总页数=数据总数%页面大小==0?数据总数/页面大小:数据总数/页面大小+14.当前页(页码) 用户自定义5.当前页的对象集合(实体类集合) 每页所显示的所有数据,使用分页sql查数据库,sel

2020-12-27 16:13:16 91

原创 java_web:mysql数据库实现分页原理

mysql实现分页原理应用实例:假设需要某数据表每页显示10条数据1.要实现分页,必须知道某一页的数据从哪里开始到哪里结束。2.mysql从0开始计数,sqlserver与oracle从1开始计数(在此只讨论mysql实现分页原理)。3.分析分页通式第n页 开始 结束0 0 91 10 192 20 29n n*10 n*10+94.mysql实现分页的sql(每页显示10条数据)limit 开始,每页显示多少条数据页面大小:每页显示的数据量第0页

2020-12-27 16:08:54 369

原创 java_web:基于三层架构实现学生信息管理2.0(对学生信息的增删改查)

学生信息管理2.0上一版本:学生信息管理1.0优化内容:1.前端优化:将显示所有学生内容以表格的形式显示,增删改操作成功后,直接跳转到显示所有学生内容页面查看操作结果,操作失败则打印失败提示语句。2.后台代码的封装:以接口和实现类的方式来拆解StudentDao和StudentService加强代码的可读性。3.引入DBUtil工具类:将dao层操作数据库时的大量重复代码,封装成DBUtil工具类实现通用的增删改查。应用实例:运用三层架构实现对学生信息得增删改查项目目录结构图1.需要用到的

2020-12-27 16:04:27 1863 6

原创 java_web:基于三层架构实现学生信息管理1.0(对学生信息的增删改查)

学生信息管理1.0涉及的知识点:三层架构理论简单理解三层架构就是,上层调用下层,下层为上层提供服务。最上层(视图层):由jsp+servlet组成中间层(服务层):组装数据访问层所实现的功能最下层(数据访问层):实现单一得某项功能,为服务层提供服务实体类是作为三层架构传数据的参数。应用实例:运用三层架构实现对学生信息得增删改查项目目录结构图1.需要用到的数据库与数据表create database test;use test;drop table if exists student

2020-12-25 17:37:25 2056 1

原创 java_web:基于三层架构设计一个学生信息管理系统(暂时实现了一个增加学生功能)

应用实例:用三层架构模型实现一个增加学生功能的学生信息管理项目涉及的理论知识:三层架构设计模型项目结构图1.需要用到的数据库与数据表create database test;use test;drop table if exists student;create table student( s_id int not null primary key, s_name varchar(20), s_age int, s_address varchar(20))select * fr

2020-12-23 18:48:01 1192

原创 java_web:三层架构理论知识

1.三层架构与MVC的关系a.三层架构与MVC设计模式的目标一致,都是为了解耦合,提高代码复用。b.区别:二者对项目的理解的角度不一致。2.三层的组成(表示层+业务逻辑层+数据访问层)a.表示层(视图层)分为前台代码和后台代码前台代码:对应MVC中的view,用于和用户交互,界面的显示。常用jsp,js,html,css,jquery等技术实现。代码位置:WebContent后台代码:对应于MVC中的controller,用于控制跳转,调用业务逻辑层。常用servlet,spring

2020-12-23 08:49:02 276 1

原创 java_web:基于mvc设计模式实现用户登录操作

基于mvc设计模式实现用户登录操作知识点补充:mvc理论知识应用实例:创建一个jsp页面login,将其表单数据发送到类LoginServlet中,在该类调用类LoginDao实现用户登录操作。若登录成功则跳转到welcome.jap,否则跳回login.jsp项目目录结构图1.创建好需要用到的数据库与数据表create database test;use test;drop table if exists login;create table login( l_id int not

2020-12-22 22:32:13 2901

原创 ssm:第一个Spring MVC程序

应用示例:用户通过浏览器提交一个请求,服务端处理器在接受到这个请求后,给出一条欢迎信息"Hello Spring MVC",并在响应页面显示该信息,采用传统的配置式开发方式。项目目录截图1.将spring相关jar包和spring依赖的common-logging-1.2jar包复制到目录WebContent/WEB-INF/lib下,选中这些包复制到目录WebContent/WEB-INF/lib下,选中这些包:右键build path—>add build path2.创建com.life

2020-12-21 15:07:19 133

原创 ssm:第一个Spring项目

应用示例:之前在一个类中调用另一个类都是在本类中新建一个要调用的另一个类对象,然后再调用其方法,这次用Spring实现在一个类中不新建另一个类的对象也能调用另一个类的程序项目目录截图1.将spring相关jar包和spring依赖的common-logging-1.2jar包复制到目录WebContent/WEB-INF/lib下,选中这些包复制到目录WebContent/WEB-INF/lib下,选中这些包:右键build path—>add build path2.创建com.lifeng

2020-12-20 15:31:59 122 1

原创 ssm:第一个MyBatis项目

1.SSM框架简介:a.SSM是Spring,Spring MVC和MyBatis三大框架的组合。b.SSM采用标准的MVC模式,将整个项目划分为数据访问层(DAO层),业务逻辑层,控制层,表示层。c.使用Spring实现业务对象管理并整合其他框架。d.使用Spring MVC进行请求转发与视图管理。e.使用MyBatis实现对数据的访问。2.MyBatis与Hibernate相比,其优点有以下几点:a.SQL语句与代码分离。只需在XML映射文件中配置SQL语句,而无须在java代码中编写SQ

2020-12-19 15:53:45 245 1

原创 java_web:导入项目后,代码中的中文出现乱码问题的解决方案

乱码问题的解决方案选中该项目—>选中Properties—>选中Resource—>将文本格式改为utf-8即可

2020-12-19 11:37:14 573 1

原创 java_web:在eclipse导入项目后出现的错误的解决方案

常见的错误有3个1.构建路径问题:2.tomcate版本问题:3.项目运行环境问题:

2020-12-19 11:06:31 2316 1

原创 java_web:使用servlet2.5与servlet3.0调用getInitParameter()方法获取初始化参数的比较

使用servlet2.5与servlet3.0调用getInitParameter()方法获取初始化参数的比较a.获取当前Servlet范围内名为name的参数值String value=super.getInitParameter(“标签的值”)servler2.5:在web.xml配置文件标签中加入标签,标签有两个子标签与servlet3.0:@WebServlet(…,InitParams{@WebInitParams(name="…",value="…")})注意:此注解只隶属于某一个

2020-12-19 10:37:27 182 1

原创 java_web:servlet的生命周期(5个阶段)

servlet的生命周期:5个阶段a.加载:加载和卸载由servlet容器自动处理b.初始化:init(),该方法会在servlet被加载并实例化后执行c.服务:service(),–>doget(),dopost()d.销毁:destory(),servlet被系统回收时执行e.卸载:加载和卸载由servlet容器自动处理...

2020-12-18 22:19:01 311 1

原创 java_web:servlet2.5与servlet3.0的区别(主要是web.xml配置文件的不同)

servlet2.5与servlet3.0的区别servlet3.0不需要在web.xml中配置,但需要在servlet类的定义处编写注解@WebServlet("/Servlet30"),"/Servlet30"其实就相当于servlet2.5中的/Servlet30应用实例:编写index.jsp页面,在此页面写一个超链接来访问servlet类,若访问成功则打印对应的访问方法(doget()或dopost())到控制台servlet2.5index.jsp**<%@ page lang

2020-12-18 22:10:59 393 1

原创 java_web:纯手工写一个servlet类,并非通过eclipse快速创建servlet类

纯手工写一个servlet类,并非通过eclipse快速创建servlet类a.创建一个servlet类并继承HttpServlet类b.重写该类的doPost()方法和doGet()方法c.在web.xml配置文件中的加入以下标签servlet类名servlet类名servlet类名/servlet类名...

2020-12-18 16:09:50 166 1

原创 java_web:MVC设计模式理论知识

MVC设计模式理论知识M:Model,模型层简单理解就是指实现一个功能,使用javabean实现。V:View,视图层用于展示以及与用户交互,使用html,js,jsp,jquery等前端技 术实现。C:Controller,控制器层首先,接受视图层的请求,将请求跳转到模型层进行处理。其次,模型处理完毕后,再将处理结果返回给控制器层。最后,再由控制器发送模型层返回的处理的结果,以响应的方式视图层发来的请求。使用jsp或servlet实现(一般不推荐使用jsp来作为控制器)...

2020-12-18 16:06:38 208 1

原创 java_web:The import xxx cannot be resolved,使用jsp方式连接数据库中出现导包错误的解决方案

jsp连接数据库中出现导包错误的解决方案a.若导入的类是在默认包的话,就新建一个包将该类加入其中(最常出现)b.可能是jdk或tomcat的版本问题,右键项目—>bulid path—>将其中报错的libary或lib删除后重新导入c.清空各种缓存,Project—>clean或进入tomcat目录删除里面的work子目录d.删除之前的tomcat,重新解压—>安装—>配置,重启计算机...

2020-12-18 16:01:55 412 2

原创 java_web:使用javabean实现登录操作(封装业务逻辑的javabean,且使用封装数据的实体类传参)

javabean的使用1.将jsp中要用到的登录操作的代转移到java类中2.javabean的作用:a.减轻jsp的复杂度b.提高代码复用3.javabean的定义a.public修饰的类,public无参构造b.所有属性值都是private,并且提供get()/set()方法4.使用层面a.封装业务逻辑的javabeanb.封装数据的javabena对应数据库的一张表,比传参方便若为传参形式:Login login=new Login(name,pwd,id,…)若为实体类形式

2020-12-18 11:12:34 990

原创 java_web:使用javabean实现登录操作(封装业务逻辑的javabean)

javabean的使用(封装业务逻辑的javabean)1.将jsp中要用到的登录操作的代转移到java类中2.javabean的作用:a.减轻jsp的复杂度b.提高代码复用3.javabean的定义a.public修饰的类,public无参构造b.所有属性值都是private,并且提供get()/set()方法4.使用层面a.封装业务逻辑的javabeanb.封装数据的javabena对应数据库的一张表,比传参方便若为传参形式:Login login=new Login(name,

2020-12-18 10:56:51 3137

原创 java_web:jsp访问数据库

jsp访问数据库1.jsp就是在html中嵌套java代码,因此java代码可以写在jsp中<%java代码%>2.导包操作a.java项目:首先,将jar包复制到工程;然后,右键该jar包—>build path—>add to build pathb.web项目:将jar包复制到WEB-INF/lib目录下即可3.核心就是将java中的jdbc代码复制到jsp中应用实例:写一个index.jsp页面与check.jsp页面,将index.jsp页面的表单元素提

2020-12-18 10:05:46 914

原创 JDBC:处理二进制blob类型数据(字节流),存储mp3音乐文件到数据库,并从数据库中取出该mp3音乐文件

处理大文本blob类型数据1.blob用于存储二进制数据,常常为图片或音频。相关类型如下:2.实现步骤a.准备好mp3音乐文件b.创建测试数据库并创建一个music表存储mp3音乐文件c.连接数据库实现该mp3音乐文件的存取3.核心知识a.数据流的读取:读数据:File file=new File(“D:\a_music.mp3”);java.io.InputStream in=new FileInputStream(file); 写数据:InputStream in=rs.g

2020-12-18 09:30:47 1654 1

原创 JDBC:处理大文本clob类型数据(字符流),存储txt文本文件到数据库,并从数据库取出该txt文本文件

处理大文本clob类型数据clob用于存储大量的文本数据。大字段的操作常常以流的方式处理。相关类型如下:2.实现步骤a.准备好txt文本文件b.创建测试数据库并创建一个novel表存储txt文本文件c.连接数据库实现该txt文本文件的存取3.核心知识a.数据流的读取:读数据:File file=new File(“D:\a_novel.txt”);java.io.InputStream in=new FileInputStream(file);Reader reader=new

2020-12-18 08:50:26 647

原创 java_web:jsp页面无法正常连接到css样式表的原因

jsp页面无法正常连接到css样式表的原因连接到外部样式表(放在…中)若css样式表与jsp页面放在不同的文件夹(跳出jsp文件夹然后进入css文件夹:…/css/style.css)示例:

2020-12-17 13:39:42 1431

原创 JDBC:使用Statement操作数据库时产生的SQL注入问题原因分析

SQL注入问题简单介绍1.JDBC中使用Stement对数据库增删改查,执行sql语句时使用拼接字符串会导致SQL注入2.JDBC中使用PreaparedStement可以有效避免SQL注入问题应用实例:创建一个login数据表且设置好其用户名与密码,然后使用jdbc连接该数据库,其中登录数据库的账号和密码在java控制台中由键盘输入。建表语句(本人使用的数据库是mysql数据库)create datebase basketball;use basketball;create table l

2020-12-16 18:44:20 595

原创 JDBC:PreparedStatement与Statement在使用时的区别

PreparedStatement与Statement在使用时的区别1.Statement:a.写sql语句b.然后再执行executeUpdate(sql)或executeQuery(sql)2.PreparedStatement:a.写sql语句(可能存在占位符:?)b.在创建PreparedStatement对象时,将sql预编译:prepareStatement(sql)c.setXXX():替换占位符d.最后执行executeUpdate()或executeQuery()推荐使用

2020-12-16 17:49:48 185 2

原创 JDBC:使用Statement对数据库进行数据库的增删改查。

连接不同数据库需牢记的3点不同(若更换数据库只需修改这3个地方)a.导入不同的数据库驱动jar包b.加载不同的数据库驱动类c.连接不同的数据库连接字符串注意:增删改(无需用到rs):executeUpdate()方法,查询(要用到rs):executeQuery()方法应用实例:在main方法中,使用update方法实现对数据库的增删改query方法实现对数据库的查询JDBCDemo.javapackage jdbc;import java.sql.Connection;import

2020-12-16 17:24:44 348

原创 JDBC:5步法实现对数据表的查询【stmt.executeQuery(sql)】

5步法(前提是已经成功导入驱动包)1.加载具体的驱动类:Class.forName()2.连接数据库:DriverManager.getConnection()3.获取操作数据库对象:con.createStatement()4.处理结果集:stmt.executeQuery()5.获取数据:rs.next(),rs.getXXX()注意:关闭jdbc三幻神(类似于栈的顺序:后使用的先关闭)关闭顺序:rs.close(),stmt.close(),con.close()应用案例:使用jdbc

2020-12-16 13:32:48 3357

原创 JDBC:4步法实现java对数据表的增删改【stmt.executeUpdate(sql)】

4步法(前提是已经导入数据库驱动包)a.加载具体的驱动类:Class.forName()b.获取数据库连接:DriverManager.getConnection()c.获取数据库操作对象:con.createStatement()d.对数据库进行增删改:stmt.executeUpdate()实例:对basketball数据库中的数据表team进行操作原表1.增加数据:String sql = “insert into team values(30,‘塔克’,20)”;2.修改数据:

2020-12-15 22:51:15 2354

原创 JDBC:连接MySql数据库

固定步程:1.加载具体的驱动类:Class.forName()2.连接数据库:DriverManager.getConnection()test.javapackage jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.Statement;public class Test {public static void main(String[] args) { String URL="j

2020-12-15 22:11:52 139

原创 java_web:JDBC连接MySQL报错access denied for user ‘root‘@‘localhost‘(using password:YES)

本人的解决方法是:将连接字符串中的localhost改为127.0.0.1String URL=“jdbc:mysql://localhost:3306/basketball”;修改为:String URL=“jdbc:mysql://127.0.0.1:3306/basketball”;

2020-12-15 22:01:23 396

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除