自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 html实现下载功能(两种方式)

```<html> <head> <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script> </head> <body> <button id="btn1" style="border = 1px soild red" >下载1</button> <button id="bt

2022-03-13 19:04:01 5038

原创 兄弟单词(牛客)

先输入单词的个数n,再输入n个单词。 再输入一个单词,为待查找的单词x 最后输入数字kpackage Niuke.zfc;import java.util.ArrayList;import java.util.Arrays;import java.util.Scanner;public class Brother { public static void main(String[] args) { Scanner sc = new Scanner(System.in);.

2022-03-01 19:08:06 193

原创 字符串排序

描述编写一个程序,将输入字符串中的字符按如下规则排序。规则 1 :英文字母从 A 到 Z 排列,不区分大小写。如,输入: Type 输出: epTy规则 2 :同一个英文字母的大小写同时存在时,按照输入顺序排列。如,输入: BabA 输出: aABb规则 3 :非英文字母的其它字符保持原来的位置。如,输入: By?e 输出: Be?yimport java.util.*;public class Main{ public static void main(String[] args

2022-03-01 16:50:13 660

原创 合唱队的问题

import java.util.*;public class Main{ public static void main(String [] args){ Scanner sc= new Scanner(System.in); //读取输入的数据 while(sc.hasNext()){ int n = sc.nextInt(); int[] a = new int[n]; for(int

2022-02-28 21:39:57 217

原创 Mybati接口动态绑定测试

总结mybatis 持久层orm框架环境搭建jar包 核心配置文件 sql映射文件 测试类入参类型:parametertype 基本数据类型|包装类 String date javabean 数组 list Map结果类型:resulttype 基本数据类型|包装类 String date javabean list Map List<Map>基础session提供的三个查询方法 selectOne selectList selectMap基础的crud

2021-12-15 16:29:49 988

原创 MyBatis缓存小结

MyBatis缓存使用缓存可以减少java应用与数据库的交互次数,从而提升程序的运行效率。比如查询出ID=1的对象,第一次查询出之后会自动将该对象保存到缓存中,当下一次查询时,直接从缓存中取出对象即可,无需再次访问数据库MyBatis缓存分类1.一级缓存:sqlSession级别。默认开启 并且不能关闭操作数据库是需要创建SQLSession 对象,在对象中有一个HashMap用于存储缓存数据,不同的SqlSession之间缓存数据区域互不影响的。作用域是Sqlsession范围,当在同一个Sql

2021-12-15 16:09:53 1094

原创 合并两个有序数组两种方式

/** * 需求:两个有序数组nums和nums2将nums2合并到nums1中,使得nums1成为一个有序数组 * * */public class Mergesz { public static void main(String[] args) { int [] nums1 = {1,2,3,4,8,0,0,0}; int [] nums2 = {2,3,4}; merge(nums1,5,nums2,3); for .

2021-11-25 15:13:20 569

原创 排列硬币(阶梯形状,判断行数)

package coins;/** * 总共有n枚硬币,将他们摆成一个阶梯形状,第K行就必须正好有k个硬币 * 给定数字n,找出可形成完整阶梯的总行数 */public class Pailie { public static void main(String[] args) { System.out.println(arrangeCoins(7)); } /** * 直接遍历,每排玩一行,计算剩余的硬币,如果剩余硬币的个数,小于或者等于行数,就

2021-11-24 17:45:06 251

原创 判断链表中是否有环利用哈希表

public static boolean hasCycle(Node head){ Set<Node> seen = new HashSet<Node>(); while (head!=null){ if(!seen.add(head)){ return true;//假如失败说明有环,没换最后退出循环,null } head = head.get

2021-11-24 17:12:13 358

原创 寻找数组的中心索引

package nums;import java.util.Arrays;/** * 寻找数组的中心索引 * 数组中某一个下标,左右两边的元素之和相等,该下标即为中心索引 * 分析:先统计这个数组的和,然后从第一个数开始叠加,总和递减当前的元素,叠加递增当前的元素。 * 知道两个值相等 */public class ShuzuIndex { public static void main(String[] args) { int [] arr = {1,3

2021-11-23 15:17:07 301

原创 统计N以内的素数的个数

package nums;/** * 通知2~N内的质数个数 */public class Zhishu { public static void main(String[] args) { System.out.println(sum(5)); } public static boolean isPrime(int x){ for (int i=2;i*i<=x;i++){ if (x%i==0){

2021-11-23 14:41:13 480

原创 复制文件夹FileInputStream

package digui;import java.io.*;/** * 需求:将指定目录(包含内容)复制到另一个目录中 * 源目录 目标目录 * 分析: * 首先我们要获取源目录下所有文件和子目录 * 把源目录封装成一个File对象,调用File的listFile方法,就可以获得源目录下所有文件和子目录对应的File对象 * * 如果获取的是文件:现在目标目录中创建该文件所对应的目录,进行文件的复制 * 如果获取的是子目录,看看子目录下面是

2021-11-22 17:58:07 224

原创 单链表的反转

package singlelist;//结点类public class Node { //用于保存结点中的数据 private Object data; //用于保存下一个结点的地址值 private Node next; /** * data做初始化工作 * @param data */ public Node(Object data) { this.data = data; } /**

2021-11-21 17:19:14 208

原创 原生的js实现异步请求

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{ String pathInfo = req.getPathInfo(); req.setCharacterEncoding("utf-8"); resp.setContentType("text/html;charset=utf-8"); super.print(resp

2021-11-13 13:47:27 1549

原创 异步请求(同源策略,AJAX与HTTP),防盗链

同源策略URL由协议。域名。端口和路径组成。如果两个URL的协议、域名、端口相同,表示他们同源。只要三者有任意一个不同,就被看做跨域。浏览器采用同源策略,禁止页面加载或执行与自身来源不同的域的任何脚本。如果使用异步请求去加载数据则会受到同源策略的限制AJAX和普通HTTP请求的区别本质上:AJAX就会浏览器发出的HTTP请求区别:AJAX就是浏览器使用XMLHTTPRequest对象发出的HTTP请求AJAX请求收到浏览器的同源策略限制,存在跨域问题(使用jsonp数据可以实现跨域)AJA

2021-11-13 12:21:22 724

原创 表单验证添加数据

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@page isELIgnored="false"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+pat

2021-11-12 19:23:43 457

原创 异步请求解析数据

获取一条数据<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@page isELIgnored="false"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPor

2021-11-12 12:36:23 807

原创 异步请求(多种方式)

取得一个雇员信息<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@page isELIgnored="false"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerP

2021-11-11 18:09:39 1933

原创 JSON数据格式

将一个对象装换成JSON数据String jsonEmp = JSON.toJSONString(emp);public void getEmpById(HttpServletRequest req, HttpServletResponse resp) throws Exception{ //取得要查询雇员的编号 Integer id=Integer.parseInt(req.getParameter("id")); Emp emp = empService.findEmpById(id)

2021-11-11 16:29:41 192

原创 JSTL 对emp中数据按照职位分组查询

调整业务层方法private void groupByJob(List<Emp> list,Map<String, Object> map){ //迭代集合 Iterator<Emp> iter = list.iterator(); //对职位进行判断 while (iter.hasNext()) { Emp emp = iter.next(); if (map.containsKey(emp.getJob())) { //判断集合中

2021-11-10 19:34:44 96

原创 将数据遍历到JSP页面(map)

public void getEmpList(HttpServletRequest req, HttpServletResponse resp) throws Exception{ Map<String, Object> map = new HashMap<String,Object>(); //创建出10号部门的员工 List<Emp> list10 = new ArrayList<Emp>(); for (int i = 1; i<6

2021-11-10 18:12:44 528

原创 JSTL的使用

批量显示数据public void getEmpList(HttpServletRequest req, HttpServletResponse resp) throws Exception{ //模糊查询关键字 String kw = req.getParameter("kw"); //当前页 Integer cp = Integer.parseInt(req.getParameter("cp")); //每页显示的数量 Integer ls = Integer.parseInt

2021-11-10 16:45:29 196

原创 两种包含(动态、静态)

静态包含<%@ include file="被包含的文件路径"%><%@ page pageEncoding="UTF-8"%><h1> 页面的头部信息</h1><%@ page pageEncoding="UTF-8"%><h1> 页面的尾部信息</h1><body> <%@ include file="header.jsp" %> <h1>

2021-11-10 13:04:18 319

原创 JSP的概念

与HTML的区别在JSP中可以定义css和js之外家可以定义Java代码,还可以使用el表达式和jstl标签。Java代码必须使用<%Java代码%><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.

2021-11-09 21:34:52 252

原创 混合表单的简单上传以及图片上传

public abstract class BaseServlet extends HttpServlet{ protected SmartUpload smart = null;//smart声明为实例变量 protected String newFileName = null; public void saveFile(HttpServletRequest req, HttpServletResponse resp) throws IOException, SmartUploadException

2021-11-09 18:19:22 105

原创 文件上传基础实现

照片上传<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><%@page isELIgn

2021-11-09 16:11:17 182

原创 验证码的实现

验证码的实现和刷新

2021-11-08 20:47:01 196

原创 注解配置(servlet、过滤器、监听器)

注解配置web.xml的配置很庞大,注解就是在每个servlet之上进行路径配置注解配置映射路径@WebServlet@WebServlet(urlPatterns={"/emp/*","/dept/*"})public class EmpServlet extends HttpServlet{}注解配置过滤器(处理字符编码)@WebFilter@WebFilter(urlPatterns="/*")public class MyFilter implements Filter {

2021-11-08 15:37:00 507

原创 过滤器(为所有的servlet处理字符编码,登录验证)

定义过滤器``package com.biubiu.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.serv

2021-11-08 11:50:33 242

原创 application监听器

监听状态package com.biubiu.listener;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;public class ContextListener implements ServletContextListener{ @Override public void contextInitialized(ServletContextEvent sce)

2021-11-07 20:19:15 116

原创 session内置对象监听器

监听状态接口:javax.servlet.http.HttpSessionListener @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{ //创建session req.getSession(); System.out.println("访问了servlet方法"); }package com.

2021-11-07 19:59:13 66

原创 Request监听器

定义监听器就是对内置对象的状态或者属性变化进行监听并且做出反应的特殊的servlet,可以在web,xml配置。内置对象的状态:产生、销毁属性:增加、删除、修改package com.biubiu.listener;import javax.servlet.ServletRequestEvent;import javax.servlet.ServletRequestListener;public class RequestListener implements ServletRequest

2021-11-07 18:00:21 297

原创 内置对象(config,application)

config内置对象config内置对象主要是用来获取配置文件中的初始参数类型为javax.sevlet.ServletConfig1.在web.xml文件中初始化参数<?xml version="1.0" encoding="UTF-8"?><web-app id="WebApp_ID"> <display-name>MvcProject</display-name> <welcome-file-list> <welcom

2021-11-07 15:41:25 222

原创 客户端转发,服务器端转发

客户端转发浏览器地址栏信息改变,不再是提交表单的路径客户端转发就是发送了一次新的请求,在整个登录中发送了两次的请求(1.点击登录按钮提交表单时候的请求 2.在servlet中使用sendRediect方法实现跳转(跳转到欢迎界面))客户端发转发之后在request内置对象中的属性就不存在了(因为是一次新的请求,而request只能表示当前请求)如果让客户端跳转之后保存的属性还有效,则可以使用session内置对象。服务器端转发浏览器的地址栏信息没发生改变转发欢迎页面(jsp页面)之后依然

2021-11-06 16:39:09 347

原创 Response内置对象

客户端跳转1.浏览器地址栏信息改变2.重新想服务器端发送了新的请求cookie信息cookie信息是客户端和服务端相互辨认的一个唯一标识。在客户第一次访问服务器的时候,服务器端会创建一个标记,这个标记会在容器(服务器端保存一份),之后再将这个标识做一个副本保存到浏览器端,第二次客户只爱吃访问的时候会带上cookie信息之后服务端就可以取得可以验证了。protected void doGet(HttpServletRequest req, HttpServletResponse resp){

2021-11-05 18:23:38 165

原创 服务器端跳转

服务器端跳转又叫做服务端转发还可以叫做服务端重定向。用户发送请求到看到数据会经历如下的过程用户发送到请求到服务器服务器会将请求交给对应的控制器(目前是servlet处理,在控制器中调用业务层方法取得数据之后将数据保存到request内置对象中(后续使用前后端分离就不会将数据保存到request内置对象了)然后再跳到页面将保存在request内置对象中的数据再次取出来之后显示到页面(用户看到信息) protected void doGet(HttpServletRequest req, Htt

2021-11-05 17:06:35 1083

原创 request内置对象

基础方法 @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //获取浏览器的信息 //System.out.println("浏览器信息:"+req.getHeader("User-Agent")); //取得额外路径 //System.out.println("额外路径:"+req.getPa

2021-11-05 15:53:47 257

原创 HTTP协议

HTTP协议协议是指计算机通信网络中两台计算机之间进行通信所必须遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,允许将超文本标记语言(HTML)文档从web服务器传送到客户端的浏览器http协议是无状态的,同一个客户端的这次请求和上次请求是没有对应关系的,对http服务器来说,并不知道两个请求来自同一个客户端。为了解决这个问题,web程序引入了Cookie机制来维护状态代理服务器的功能提高访问速度隐藏身份实现均衡负载打开一个网页需要浏览器发送很多次的RequestGet 和Po

2021-11-05 13:43:26 66

原创 JavaEE Servlet的生命周期,运行机制

声明周期有如下几个阶段加载类 实例化 初始化 请求处理 销毁其中加载阶段和实例化阶段无法观察,但是初始化阶段、服务、销魂阶段是可以观察到了。初始化调用init方法服务阶段调用service方法销毁阶段调用destroy方法注:默认情况下servlet是在第一次被访问的时候初始化的,初始化之后进入服务阶段(调用的是service方法)。销毁通过关闭服务器的时候销魂。也可以在web.xml文件中进行配置,使得服务器已启动就初始化<servlet> <servlet-name

2021-11-05 10:39:24 112

原创 表单数据验证组件

<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>Bootstrap表单样式一</title> <!-- 让页面样式根据设备大小进行调整显示 --> <meta name=viewport content="width=device-width,initial-scale=1"> <script type="text/javas

2021-11-03 18:51:16 112

空空如也

空空如也

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

TA关注的人

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