
java_web
本专栏是看黑马程序员的一些笔记,就不在文章里说了,只为方便本人参考
Mike-H
这个作者很懒,什么都没留下…
展开
-
idea导入maven项目、启动项目
一、导入项目首先把train项目直接复制到idea目录下:再打开这里二、启动项目设置好再点小绿点就行原创 2021-01-01 18:58:32 · 357 阅读 · 0 评论 -
不使用maven骨架创建web项目、使用tomcat插件启动web项目(和访问servlet)、使用骨架创建web项目
一、不使用maven骨架创建web项目在pom.xml添加: <packaging >war</packaging>如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sche原创 2021-01-01 18:58:23 · 694 阅读 · 1 评论 -
不使用骨架创建java项目、使用骨架创建java项目
一、不使用骨架创建java项目新建resources(这个字母不能变)的directory总的项目:二、使用骨架创建java项目原创 2021-01-01 18:58:13 · 255 阅读 · 0 评论 -
Maven仓库分类、Maven 工程的目录结构、maven生命周期、坐标
Maven仓库分类:本地仓库 就是本地文件夹,当第二次需要此 jar 包时则不再从远程仓库下载,因为本地仓库已经存在了,可以将本地仓库理解为缓存,有了本地仓库就不用每次从远程仓库下载了。...原创 2021-01-01 18:57:59 · 186 阅读 · 0 评论 -
案例:把数据库中的省份显示到html(jq+json+ajax+redis)
案例需求:提供index.html页面,页面中有一个省份 下拉列表当 页面加载完成后 发送ajax请求,加载所有省份注意:使用redis缓存一些不经常发生变化的数据。数据库的数据一旦发生改变,则需要更新缓存。数据库的表执行 增删改的相关操作,需要将redis缓存数据情况,再次存入在service对应的增删改方法中,将redis数据删除。代码:https://github.com/QLBF11/Java_small_important/tree/master/Province_S原创 2020-12-09 10:03:11 · 204 阅读 · 0 评论 -
Jedis及其连接池JedisPool、及其连接池工具类JedisPoolUtils
一、Java客户端 JedisJedis: 一款java操作redis数据库的工具.使用步骤:导入jedis的jar包使用 :// 2.1. 获取连接Jedis jedis = new Jedis(“localhost”,6379);//2.2 操作jedis.set(“username”,“zhangsan”);//2.3. 关闭连接jedis.close();Jedis操作各种redis中的数据结构:字符串类型 stringsetget//1. 获取连接Je原创 2020-12-08 21:46:37 · 506 阅读 · 0 评论 -
Redis、数据结构、持久化(RDB、AOF)
1. 概念redis是一款高性能的NOSQL系列的非关系型数据库关系型和非关系型数据库比较:1.1.什么是NOSQLNoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是原创 2020-12-04 22:28:19 · 301 阅读 · 0 评论 -
案例:校验用户名是否存在(jq+ajax+json)
校验用户名是否存在服务器响应的数据,在客户端使用时,要想当做json数据格式使用。有两种解决方案:$.get(type):将最后一个参数type指定为"json"在服务器端设置MIME类型(在servlet中写,不用在$.get写json了,自动的)上面两种方法都可以用用到的类:regist.html写:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8">原创 2020-12-04 21:05:39 · 318 阅读 · 0 评论 -
JSON数据和Java对象的相互转换、Java对象、装有对象的集合、map(里面没对象)都可以转为转换JSON
JSON解析器:常见的解析器:Jsonlib,Gson,fastjson,jackson1. JSON转为Java对象(代码见下面test5)导入jackson的相关jar包创建Jackson核心对象 ObjectMapper调用ObjectMapper的相关方法进行转换1. readValue(json字符串数据,Class)(这步和下面的不同)(重点)2. Java对象、装有对象的集合、map(里面没对象)都可以转为转换JSON使用步骤:导入jackson的相关jar包原创 2020-12-04 20:11:37 · 267 阅读 · 0 评论 -
JSON、遍历获取json对象的值
一、JSON基本入门二、定义JSON对象建一个html:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script> //1.定义基本格式 var person = {"name": "张三", age: 23, 'gender': true原创 2020-12-04 17:01:52 · 2057 阅读 · 0 评论 -
Ajax实现方式(JQ):ajax()、get、post
Ajax实现方式(JQ)方法1:$.ajax()语法:.ajax(键值对);//使用.ajax({键值对});//使用.ajax(键值对);//使用.ajax()发送异步请求ajax要和服务器交互,故要依赖与tomcat。把jquery-3.3.1.min.js放进js目录,创建cn.itcast.web.ajax包,创建AjaxServlet 的servlet类package cn.itcast.web.ajax;import javax.servlet.ServletExceptio原创 2020-12-04 12:46:28 · 259 阅读 · 0 评论 -
AJAX、异步和同步区别
1. 概念:ASynchronous JavaScript And XML (异步的JavaScript 和 XML)异步和同步区别2.Ajax作用:Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(不使用 Ajax)如果需要更新内容,必须重载整个网页页面。提升用户的体验...原创 2020-12-04 10:39:51 · 363 阅读 · 0 评论 -
JQ快速入门
在web下建一个js的Directory,把jquery-3.3.1.min.js放进去,不用add as…的。再在web目录下新建一个js_test.html:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>js快速入门</title> <!--这里的src看你放的jquery-3.3.1.min.js位置,我原创 2020-12-03 10:23:28 · 291 阅读 · 0 评论 -
设计模式之代理模式
设计模式:一些通用的解决固定问题的方式代理模式作用:可以增强对象的功能概念:真实对象:被代理的对象代理对象:代理模式:代理对象代理真实对象,达到增强真实对象功能的目的实现方式:静态代理:有一个类文件描述代理模式动态代理:在内存中形成代理类(本篇博客只介绍动态代理)实现步骤:代理对象和真实对象实现相同的接口代理对象 = Proxy.newProxyInstance();使用代理对象调用方法。增强方法增强方式(重点,要不然代理就没意义,就是来增强的):.原创 2020-12-02 22:15:29 · 157 阅读 · 0 评论 -
Filter敏感词汇过滤,把文件的每一句加到集合
案例2_敏感词汇过滤需求:对day17_case(这里是https://blog.youkuaiyun.com/QLBFA/article/details/110428015)这个项目资源。案例录入的数据进行敏感词汇过滤敏感词汇参考《敏感词汇.txt》如果是敏感词汇,替换为 ***分析:对request对象进行增强。增强获取参数相关方法放行。传递代理对象...原创 2020-12-02 20:09:45 · 195 阅读 · 0 评论 -
Filter登录验证(权限控制)小案例
一、登录验证案例1_登录验证需求:访问day17_case案例(这里是https://blog.youkuaiyun.com/QLBFA/article/details/110428015)这个项目资源。验证其是否登录如果登录了,则直接放行。如果没有登录,则跳转到登录页面,提示"您尚未登录,请先登录"。在这个:(总)用户信息查询案例代码中在src建一个filter子包,建一个LoginFilter 的Filter:package cn.itcast.filter;import javax.s原创 2020-12-01 23:03:49 · 296 阅读 · 0 评论 -
Filter(过滤器),快速入门、修改模板、执行过程、过滤器链
一、概念过滤器的作用: 一般用于完成通用的操作。如:登录验证(就是只有登录了才给你看到一些重要的页面,没登录就不给你看,通过Filter完成)、统一编码处理、敏感字符过滤过滤器给你这个请求通过的话,你就可以访问那个资源,不给你通过你就访问不了,可以在过滤器里面的类写给放不放行。(放行:filterChain.doFilter(servletRequest,servletResponse);)二、快速入门快速入门:步骤:定义一个类(普通java class就行),实现接口Filter(是jav原创 2020-12-01 15:57:52 · 473 阅读 · 0 评论 -
(总)用户信息查询案例
用户信息查询案例又以下功能组成:一、用户查询案例功能1:用户信息列表展示(假数据)二、用户查询案例功能2:改造页面+登录三、用户查询案例功能3:添加联系人、删除一列、修改一行(回显信息,隐藏域)四、用户查询案例功能4:删除选中五、用户查询案例功能5:分页查询六、用户信息查询功能案例功能6:复杂查询(动态sql)+分页可分页+复杂查询有回显():附上总的代码:https://github.com/QLBF11/Java_small_important/tree/master/Userqu原创 2020-12-01 12:50:00 · 506 阅读 · 0 评论 -
用户信息查询功能案例功能6:复杂查询(动态sql)+分页
编写代码主要是UserDaoImpl里面的动态sql要写好,,而且要转为StringBuild 的toString形式,而且param要转为数组才能被queryForObject获取。附上代码:https://github.com/QLBF11/Java_small_important/commit/2d59a3ff3d999e1693c034411a89c417973bd0ea#diff-c4ea928571e8da501978c22e459ad719405935b408e11b099f3a1d22.原创 2020-11-30 17:22:05 · 279 阅读 · 0 评论 -
用户查询案例功能5:分页查询
分页查询好处:减轻服务器内存的开销提升用户体验新建一个PageBean实体类对象,加了T泛型后,通用性就更强了,不管你在哪个表分页都可。原创 2020-11-30 10:45:25 · 269 阅读 · 0 评论 -
用户查询案例功能4:删除选中
首先在list.jsp为每一个复选框设定id啥的,(记得给每个复选框添加name属性)和添加一个表单来提交这些id,原创 2020-11-29 22:28:48 · 147 阅读 · 0 评论 -
用户查询案例功能3:添加联系人、删除一列、修改一行(回显信息,隐藏域)
一、添加联系人原创 2020-11-29 16:53:38 · 321 阅读 · 0 评论 -
用户查询案例功能2:改造页面+登录
代码基于上一篇博客:https://blog.youkuaiyun.com/QLBFA/article/details/110249043,我们先把list.jsp改一下,是页面变为这样(去bootstrap官网复制一下而已):原创 2020-11-29 10:13:01 · 168 阅读 · 0 评论 -
用户查询案例功能1:用户信息列表展示(假数据)
需求:用户信息的增删改查操作设计:技术选型:Servlet+JSP+MySQL+JDBCTempleat+Duird+BeanUtilS+tomcat数据库设计:create database day17; -- 创建数据库use day17; -- 使用数据库create table user( -- 创建表id int primary key auto_increment,name varchar(20) not null,gender varchar(5),age int,a.原创 2020-11-27 22:36:22 · 814 阅读 · 2 评论 -
JSTL快速入门,if、choose(when,otherwise)、forEach(varStatus,items、var)、展示list里面对象到jsp案例
一、快速入门概念:JavaServer Pages Tag Library JSP标准标签库是由Apache组织提供的开源的免费的jsp标签 <标签>作用:用于简化和替换jsp页面上的java代码使用步骤:导入jstl相关jar包引入标签库:taglib指令: <%@ taglib %>使用标签首先在web目录下新建一个WEB-INF目录下lib目录(一定时这个名),把需要的包添加到lib 并add as library:,再在web目录传个j原创 2020-11-27 16:41:11 · 347 阅读 · 0 评论 -
在JSP获取虚拟目录
在JSP获取虚拟目录:使用el表达式中的隐式对象:pageContext<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>获取jsp隐式对象</title></head><body>${pageContext.request.contextPath}</body><原创 2020-11-27 15:48:10 · 943 阅读 · 0 评论 -
el表达式获取jsp域对象、获取对象(获取时间使用逻辑视图)、List集合(可获取对象)、Map集合的值(可获取对象)
一、el表达式获取jsp域对象jsp和html都要在web目录下写<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>el获取域中的数据</title></head><body><% //在域中存储数据 session.setAttribute("name",原创 2020-11-27 11:42:51 · 1613 阅读 · 0 评论 -
MVC开发模式、四层架构、实体类的作用
MVC是开发模式(而不是设计模式,设计模式是很小的,开发模式是整个框架)1. jsp演变历史早期只有servlet,只能使用response输出标签数据,非常麻烦后来又jsp,简化了Servlet的开发,如果过度使用jsp,在jsp中即写大量的java代码,有写html表,造成难于维护,难于分工协作再后来,java的web开发,借鉴mvc开发模式,使得程序的设计更加合理性2. MVC:M:Model,模型。JavaBean完成具体的业务操作,如:查询数据库,封装对象V:View原创 2020-11-26 22:41:58 · 4350 阅读 · 0 评论 -
JSP九个内置对象
原创 2020-11-26 22:22:12 · 139 阅读 · 0 评论 -
JSP:500友好页面errorPage
定义一个A.jsp和500.jsp:设置errorPageA.jsp:<%@ page contentType="text/html;charset=UTF-8" errorPage="500.jsp" language="java" %><html><head> <title>制造一个异常就跳到500.jsp</title></head><body><% int i=3/0;%&g原创 2020-11-26 21:56:46 · 476 阅读 · 1 评论 -
简单登录页面(jsp、session、转发、重定向、数据库、验证码更新版)
案例需求:访问带有验证码的登录页面login.jsp用户输入用户名,密码以及验证码。如果用户名和密码输入有误,跳转登录页面,提示:用户名或密码错误如果验证码输入有误,跳转登录页面,提示:验证码错误如果全部输入正确,则跳转到主页success.jsp,显示:用户名,欢迎您分析:注意这里验证码改了一下,要存储生成的字符串:package cn.itcast.servlet;import javax.imageio.ImageIO;import javax.servlet.Serv原创 2020-11-26 17:09:29 · 496 阅读 · 0 评论 -
Session快速入门(共享数据)及原理、与cookie区别
1. 概念:服务器端会话技术,在一次会话的多次请求间共享数据,将数据保存在服务器端(而cookie是保存在浏览器的)的对象中。HttpSession2. 快速入门:*. 获取HttpSession对象:HttpSession session = request.getSession();*. 使用HttpSession对象:Object getAttribute(String name)void setAttribute(String name, Object value)void remo原创 2020-11-25 11:10:17 · 217 阅读 · 0 评论 -
JSP本质、修改jsp模板、新建jsp改造cookie时间
一、JSP本质原创 2020-11-24 22:54:37 · 131 阅读 · 0 评论 -
Cookie原理、cookie细节、cookie作用、cookie记住上一次访问时间
1. 概念:客户端会话技术,将数据保存到客户端功能:在一次会话的范围内的多次请求间,共享数据(一次会话可以多次请求和响应的)2. 快速入门:使用步骤:创建Cookie对象,绑定数据new Cookie(String name, String value)发送Cookie对象(服务器发送给浏览器,然后浏览器就保存改cookie,下次请求服务器时(比如访问ServletCookiedemo2),会携带这个cookie去请求服务器)response.addCookie(Cookie原创 2020-11-24 19:40:35 · 497 阅读 · 1 评论 -
idea修改servlet模板
之前我们实现HTTPservlet时还要在doget调用dopost,下面我们配置idea,下次创建servlet类就会自动写好。打开idea,点File里面的setting原创 2020-11-24 19:10:15 · 192 阅读 · 0 评论 -
文件下载图片或者视频及解决保存文件时中文乱码问题
文件下载需求:页面显示超链接点击超链接后弹出下载提示框完成图片文件下载分析:超链接指向的资源如果能够被浏览器解析,则在浏览器中展示,如果不能解析,则弹出下载提示框。不满足需求(所以要在a标签中使用?)任何资源都必须弹出下载提示框使用响应头设置资源的打开方式:content-disposition:attachment;filename=xxx(设置这个头后,浏览器就不会直接解释图片打开了,而是以附件的形式保存)步骤:定义页面,编辑超链接href属性,指向Servlet,传递资源原创 2020-11-24 15:09:14 · 1673 阅读 · 0 评论 -
web目录下的资源文件如何加载(使用ServletContext对象.getRealPath)、如何获取Tomcat服务器的web项目
之前的classLoader值加载资源只能获取src路径下的配置文件,而不能加载web下的文件。所以我们得使用下面的方法来获取web目录下的资源文件。1.如何获取Tomcat服务器的web项目运行tomcat,打开IDEA输出的第一行在电脑打开这个地址打开这个xml:下面这个就是你tomcat存放你这个项目的路径:2.web目录下的资源文件如何加载获取文件的真实(服务器)路径方法:String getRealPath(String path)我们想在ServletConte原创 2020-11-24 09:16:35 · 362 阅读 · 1 评论 -
ServletContext对象:域对象(共享数据)、MIME类型
概念:代表整个web应用,可以和程序的容器(服务器)来通信获取:通过request对象获取request.getServletContext();通过HttpServlet获取this.getServletContext();(两种方法都可以获取servletcontext对象,只不过我们一般用第二种)功能:获取MIME类型:MIME类型:在互联网通信过程中定义的一种文件数据类型格式: 大类型/小类型 text/html image/jpeg获取:String getMime原创 2020-11-23 23:08:53 · 347 阅读 · 0 评论 -
servlet实现验证码随机生成并显示到html页面
servlet实现验证码随机生成并显示到html页面tomcat配置就不说了,虚拟目录为bbb这里我们创建一个CheckCodeServlet的servlet类和regin.html页面:CheckCodeServlet代码看懂就行,不需要记package cn.it.web.checkyanzhengma;import javax.imageio.ImageIO;import javax.servlet.ServletException;import javax.servlet.anno原创 2020-11-23 22:28:36 · 424 阅读 · 0 评论 -
response中文乱码问题、服务器输出字符、字节数据到浏览器
一、response中文乱码问题服务器输出字符、字节数据到浏览器直接输出字节或者字符会乱码,要在获取字节/字符流之前加上:response.setContentType(“text/html;charset=utf-8”);这里写一个ServletDemo4的servlet,tomcat虚拟目录为/服务器输出字符package cn.it.web.response;import javax.servlet.ServletException;import javax.servlet.Servle原创 2020-11-23 21:17:17 · 388 阅读 · 0 评论