java_web
文章平均质量分 56
_小尘
此人很憨,什么都没有做好!!!
展开
-
java_web:jquery方式实现Ajax
jquery方式实现Ajax1.使用此方式必须要引入js库2.使用示例i.通用方式$.ajax({ //以下参数顺序可以变化 url:服务器地址, type:get或post方式, data:请求数据, success:function(result,testSattus){ }, error:function(xhr,errorMessage,e){ } });ii.get方式$.get( //以下参数顺序不可以变化原创 2021-01-01 11:11:07 · 143 阅读 · 0 评论 -
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 · 202 阅读 · 0 评论 -
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 · 292 阅读 · 0 评论 -
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 · 163 阅读 · 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 · 317 阅读 · 0 评论 -
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 · 232 阅读 · 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 · 516 阅读 · 0 评论 -
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 · 263 阅读 · 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 · 398 阅读 · 0 评论 -
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 · 1225 阅读 · 0 评论 -
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 · 83 阅读 · 0 评论 -
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 · 363 阅读 · 0 评论 -
java_web:基于三层架构实现学生信息管理2.0(对学生信息的增删改查)
学生信息管理2.0上一版本:学生信息管理1.0优化内容:1.前端优化:将显示所有学生内容以表格的形式显示,增删改操作成功后,直接跳转到显示所有学生内容页面查看操作结果,操作失败则打印失败提示语句。2.后台代码的封装:以接口和实现类的方式来拆解StudentDao和StudentService加强代码的可读性。3.引入DBUtil工具类:将dao层操作数据库时的大量重复代码,封装成DBUtil工具类实现通用的增删改查。应用实例:运用三层架构实现对学生信息得增删改查项目目录结构图1.需要用到的原创 2020-12-27 16:04:27 · 1819 阅读 · 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 · 2022 阅读 · 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 · 1166 阅读 · 0 评论 -
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 · 224 阅读 · 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 · 2864 阅读 · 0 评论 -
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 · 365 阅读 · 0 评论 -
java_web:导入项目后,代码中的中文出现乱码问题的解决方案
乱码问题的解决方案选中该项目—>选中Properties—>选中Resource—>将文本格式改为utf-8即可原创 2020-12-19 11:37:14 · 566 阅读 · 1 评论 -
java_web:在eclipse导入项目后出现的错误的解决方案
常见的错误有3个1.构建路径问题:2.tomcate版本问题:3.项目运行环境问题:原创 2020-12-19 11:06:31 · 2270 阅读 · 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 · 175 阅读 · 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 · 306 阅读 · 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 · 387 阅读 · 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 · 156 阅读 · 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 · 186 阅读 · 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 · 404 阅读 · 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 · 983 阅读 · 0 评论 -
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 · 3122 阅读 · 0 评论 -
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 · 879 阅读 · 0 评论 -
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 · 1631 阅读 · 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 · 636 阅读 · 0 评论 -
java_web:jsp页面无法正常连接到css样式表的原因
jsp页面无法正常连接到css样式表的原因连接到外部样式表(放在…中)若css样式表与jsp页面放在不同的文件夹(跳出jsp文件夹然后进入css文件夹:…/css/style.css)示例:原创 2020-12-17 13:39:42 · 1400 阅读 · 0 评论 -
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 · 569 阅读 · 0 评论 -
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 · 183 阅读 · 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 · 340 阅读 · 0 评论 -
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 · 3322 阅读 · 0 评论 -
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 · 2312 阅读 · 0 评论 -
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 · 130 阅读 · 0 评论 -
java_web:4种范围对象的作用域(pageContext,request,session,application)
4种范围对象的特点(从小到大排序)a.pageContext:当前页面有效,页面跳转后失效b.resquest:同一次请求有效,若请求转发方式修改为重定向(要进行两次请求)则无效c.session:同一次会话有效,无论页面的跳转方式是请求转发还是重定向,关闭或切换浏览器后无效d.application:整个项目运行期间都有效,切换浏览器仍然有效,关闭服务或切换其它项目后无效 1.以上4个范围对象,通过setAttribute()赋值,通过getAttribute()取值 2.以上范围对象,尽量使原创 2020-12-14 14:31:44 · 1507 阅读 · 0 评论 -
java_web:application全局对象获取路径的两个方法
application全局对象获取路径的两个方法1.获取虚拟路径:/Labapplication.getContextPath()2.获取绝对路径(要将虚拟路径的返回值作为参数来获取)application.getRealPath("/Lab")应用实例:获取虚拟路径与绝对路径NewFile.jsp<%@ page language=“java” contentType=“text/html; charset=UTF-8”pageEncoding=“UTF-8”%>In原创 2020-12-14 14:18:09 · 541 阅读 · 0 评论