![](https://img-blog.csdnimg.cn/20210919174017837.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
JavaWeb必备技术再整理
文章平均质量分 63
第二次重新系统学习Java分享学习心得
冷丁_
转iOS中,热爱编程的小白~
展开
-
Mybatis中的模糊查询
模糊查询怎么写1、Java代码执行的时候,传递通配符% %@Test public void getUserLike(){ SqlSession sqlSession=MybatisUtils.getSqlSession(); UserMapper mapper=sqlSession.getMapper(UserMapper.class); List<User> userLike = mapper.getUserLike("%李%"); for (User原创 2021-12-12 13:01:25 · 368 阅读 · 3 评论 -
Java实现邮件传输(三)(网站注册发送邮件功能实现)
分析:在我们注册的时候,前端我们填写的就是一个表单,这个表单提交给后端的servlet,这个servlet就向我们填写的那个邮箱中发送一封邮件首先我们完成前端注册页面,只需要创建一个表单,提交相关的信息给Servlet处理注册页面<%@ page contentType="text/html;charset=UTF-8" language="java" %><%--注册填写邮箱的前端页面--%><html><head> <title>原创 2021-12-04 13:21:06 · 369 阅读 · 1 评论 -
Java实现邮件传输(一)简单邮件的发送
邮件传输的原理分析做一个东西一定要分析原理,建立架构,再编写代码在网络上实现邮件传输需要邮件服务器假设有两个人,张三李四,他们有两台不一样的电脑,张三想给李四发一封邮件中间有一个基站来帮助他们通信,通过网络传输他们有两个真实的邮箱,不同的邮箱有自己的服务器基站先把张三发出的邮件存到网易服务器里,服务器通过基站找到qq的服务器,放入李四通过电脑访问qq服务器,从中取出信件发送邮件:SMTP协议接收邮件:POP3协议服务器内部有一个POP3接收,还有一个SMTP发送,下面还有一个文件系统F.原创 2021-12-02 17:33:51 · 1601 阅读 · 5 评论 -
Java实现文件上传详解
文件上传的原理你如果要去一个网站,如果发一个请求或文件下载,电脑为客户端, 服务器为s端,服务器中有网站,web应用,还有文件操作系统File SystemIO流,两个池子或许穿东西需要一条管道,两台不同电脑之间的管道就是网络网络中存在协议,协议就是为了传东西的传输文件需要响应头和响应体,想要传输文件或者下载文件咱们也要设置固定的响应头和响应体上传文件首先让浏览器能够支持文件上传 input(file)input file 通过网络上传到web应用,再从web应用传到文件系统http 80原创 2021-12-01 11:26:24 · 21072 阅读 · 7 评论 -
SMBMS订单管理系统(手把手教细致讲解实现全过程) (七)
实现用户管功能刚刚访问密码直接走前端现在要发起请求走Servlet,Servlet处理后返回前端页面Servlet处理请求调用业务返回页面业务要查询用户列表,查询角色列表,为了实现分页,需查询pageSize总数。查询从Service层到Dao层,Dao层从数据库里面查1、导入分页的工具类2、用户列表页面导入为了我们职责统一,可以把角色的操作单独放在一个包中,和Pojo类一一对应1、获取用户数量UserDao //查询用户总数 public int getUserCou原创 2021-11-30 18:26:55 · 595 阅读 · 11 评论 -
SMBMS订单管理系统(手把手教细致讲解实现全过程) (六)
在完成了前面用户显示的Dao层和Service层,我们现在来编写用户显示的Servlet层用户显示的Servlet首先根据前端的代码,我们点击用户管理会传过来一个method参数,值为query,我们在这里加上对query的处理,然后编写query方法1.获取用户前端的数据(查询)2.获取用户列表 (调用service层) UserServiceImpl userService=new UserServiceImpl();3.设置每个页面展示多少条数据 //第一次走这个请原创 2021-11-28 16:06:37 · 371 阅读 · 2 评论 -
SMBMS订单管理系统(手把手教细致讲解实现全过程) (五)
在之前的基础上,我们继续优化一下修改代码的功能之前只是能实现修改密码了,但是我们没有对原密码进行判断原密码输入正确后我们才可以修改密码实现过程这里我们需要用到ajax,我们通过Json来实现前后端的信息交互首先需要导入Json的maven依赖我去maven官网找了一个比较新的版本 <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> <dependency> <g原创 2021-11-15 16:30:36 · 448 阅读 · 1 评论 -
SMBMS订单管理系统(手把手教细致讲解实现全过程) (四)
在之前的基础上,我们来实现修改密码的功能首先前端点击密码秀高 跳转到pwdmodify.jsp<li><a href=${pageContext.request.contextPath}"/jsp/pwdmodify.jsp">密码修改</a></li>思考架构以及如何实现架构,人需要访问前端页面,前端发送修改密码的请求,请求发送一个Servlet,Servlet走到Service层,Service层走到Dao层,Dao层走到数据库编写代码从底原创 2021-11-14 14:01:09 · 470 阅读 · 6 评论 -
SMBMS订单管理系统(手把手教细致讲解实现全过程) (三)
登陆功能优化—登陆注销模块我们登陆后复制后端页面的地址,在退出后直接访问这个地址,这时候发现还是可以进入的这个就还是之前的那个问题,我们要对注销的账户进行拦截实现注销功能思路:移除Session 返回登陆页面我们前端的页面点击了退出之后会跳转到/jsp/logout.do我们建立一个Servlet来处理退出请求,并将其xml配置为logout.do1、创建LoginoutServletLoginoutServlet实现的功能很简单,首先先得到Session,然后移除Session中的原创 2021-11-13 12:41:36 · 400 阅读 · 5 评论 -
SMBMS订单管理系统(手把手教细致讲解实现全过程) (二)
1. 编写前端页面原创 2021-11-12 21:50:54 · 806 阅读 · 2 评论 -
SMBMS订单管理系统(手把手教细致讲解实现全过程) (一)
JavaWeb的基本内容已经再次梳理完毕了后面我们将实现一个SMBMS超市订单管理系统的项目,我会细致的介绍从0-1实现的全过程在开始一个项目前 我们先要分析需求和架构今天我们先来完成项目的前期准备工作项目前期准备工作第一步、创建数据库用Navicat 连接MySQL 新建查询 建立数据库USE `smbms`; DROP TABLE IF EXISTS `smbms_address`; CREATE TABLE `smbms_address` ( `id` bigint(20原创 2021-11-11 09:29:18 · 1501 阅读 · 3 评论 -
JDBC事务详解
JDBC 事务要么都成功,要么都失败ACID原则:保证数据的安全开启事务事务提交 commit()事务回滚 rollback()关闭事务转账:A 1000B 1000A(900) --100--> B(1100)假设转账的过程中服务器崩了当我们想在工程中随时随地测试时,而不需要写main函数才能执行时,我们可以用Junit来实现Junit单元测试依赖<!--单元测试--> <dependency><groupId>junit<原创 2021-11-10 11:23:35 · 802 阅读 · 3 评论 -
JDBC详解(实用新)
JDBC什么是JDBC:java连接数据库有一些数据库,MySQL Oracle,…假如来一个应用程序 Application,需要一个驱动来连接数据库需要一个统一的驱动来面对不同的数据库JDBC需要jar包的支持java.sqlJavax.sqlMysql-connecter-java…连接驱动(必须导入)实验环境搭建在Navicat中创建数据库CREATE TABLE users(id INT PRIMARY KEY, `name` VARCHAR(40), `passwo原创 2021-11-09 08:44:15 · 174 阅读 · 5 评论 -
过滤器监听器的常见应用
监听器:GUI编程中经常应用利用监听器控制窗口的关闭package com.lding.listener;import java.awt.*;import java.awt.event.WindowEvent;import java.awt.event.WindowListener;/** * @program: javaweb-filter * @description: * @author: 王丁 * @date: 2021-11-03 10:44 **/public cla原创 2021-11-08 09:09:13 · 153 阅读 · 1 评论 -
监听器Listener详解
监听器实现一个监听器的接口: 有(N)种1、编写一个监听器实现监听器的接口2、配置监听器web.xml中注册监听器监听器用的比较少 Spring 很多都用过滤器都实现的接下来我们用监听器完成一个Demo统计网站在线人数思路 每个人访问网站的时候服务器都会给他一个Session,我们监听Session的创建和销毁同时更新在线人数 显示在JSP页面上,我们将结果存储到ServletContext中,因为在线人数是公共的前端只需要get Context中的对应属性即可OnlineCoun原创 2021-11-07 12:10:27 · 260 阅读 · 6 评论 -
JSP内置对象以及作用域详解
JSP九大内置对象PageContext 存东西Request 存东西ResponseSession 存东西Application 【ServletContext】存东西config 【ServletConfig】outpageexceptionJSP作用域理解有三个电脑去访问一个网站,这里有一个网站服务器,每个人用浏览器得到一个pagepage的范围是最小的,page上面发送请求给服务器,但是请求可以转发,也就是request转发到的其他页面也有效,所以请求的作用域比pag原创 2021-11-06 11:01:06 · 149 阅读 · 3 评论 -
Filter过滤器详解
Filter(重点)Filter:过滤器 ,用来过滤网站的数据处理中文乱码登陆验证过滤器的理解一个Web浏览器,需要去找Web服务器, 服务器需要调用资源(Servlet 、jsp等等)加一层 web服务要请求资源的时候要经过过滤器, 过滤掉垃圾请求,本质和Servlet一模一样Filter的开发步骤1、导包 注意一定要选择javax.servlet中的Filter2、编写过滤器Chain: 链过滤中的所有代码,再过滤特定请求的时候都会执行必须让过滤器继续通行 chain原创 2021-11-05 20:25:36 · 470 阅读 · 4 评论 -
MVC架构详解
MVC三层架构什么是MVC:Model view Controller 模型 视图 控制器1早些年开发 :用户直接访问控制层,控制层就可以直接操作数据库servlet–CRUD–>数据库弊端:程序十分臃肿不利于维护 servlet的代码中,(直接连过去)处理请求、响应、视图跳转、处理jdbc 处理业务代码,处理逻辑代码架构:没有什么是加一层解决不了的控制器就是ServletServlet和jsp都可以写java代码,人也都能访问他们但是为了易于维护和使用作出以下规定:Servlet原创 2021-11-04 10:17:06 · 2119 阅读 · 3 评论 -
JSTL详解
JSTL表达式JSTL标签库的使用就是为了弥补HTML标签的不足:它自定义许多标签可以供给我们使用,标签的功能和Java代码一样!去菜鸟教程可以看到JSLT 一些常用方法核心标签(掌握)引入了JSTL核心标签库,我们才能使用JSTL标签<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>解决JSTL导包的bug解决办法:1.在Tomcat目录下的lib文件夹中加入jstl包JSTL包下载方法h原创 2021-11-03 10:39:36 · 872 阅读 · 3 评论 -
JSP基础语法详解
JSP基础语法任何语言都有自己的语法,JAVA有,JSP作为java技术的一种应用,它拥有一些自己扩充的语法(了解,知道即可!)Java所哟语法都支持!JSP表达式<%--JSP表达式作用:用来将程序的输出,输出到客户端<%= 变量或者表达式%>--%><%= new java.util.Date()%>JSP脚本片段<%--jsp脚本片段--%><%int sum = 0;for (int i = 1; i <=100原创 2021-11-02 15:43:06 · 226 阅读 · 3 评论 -
JSP底层原理详解
1、JSP1.1、什么是JSPJava Server Pages: Java服务端页面,也和Servlet一样,用于动态web技术最大的特点写JSP就像在写HTML一样区别:HTML只给用户提供静态的数据JSP页面中可以嵌入JAVA代码,为用户提供动态数据1.2、JSP原理思路:JSP到底怎么执行的?代码层面没有任何问题服务器内部工作tomcat中有一个work目录;在IDEA中使用Tomcat的会在IDEA的Tomcat中生成一个work目录页面转变成了原创 2021-11-01 18:28:36 · 872 阅读 · 4 评论 -
Session详解
Session(重点)什么是Session:服务器会给每一个用户(浏览器)创建一个Session对象一个Session独占一个浏览器,只要浏览器没有关闭,这个Session就存在用户登陆之后,整个网站它都可以访问–>保存用户的信息Session和Cookie的区别Cookie是把用户的数据写给用户的浏览器,浏览器保存(可以保存多个)Session把用户的数据写到用户独占的Session中,服务端保存(保存重要的信息,减少服务器资源的浪费)(一个浏览器对应一个Session)Ses原创 2021-10-31 09:51:56 · 1685 阅读 · 7 评论 -
Cookie详解
Cookie1、会话会话:用户打开一个浏览器,点击了很多超链接,访问多个web资源,关闭浏览器,这个过程可以称之为会话有状态会话:一个同学来过教师,下次再来教室,我们会知道这个同学,曾经来过,称之为有状态会话你怎么证明你是xx学校的学生?你 学校1、你的学生证 学校给你学生证2、学校登记 学校标记你来过了对于网络上,一个网站怎么证明你来过?你----客户端 学校----服务端服务端给客户端一个 信件✉️,客户端下次访问服务端上的信件就可以了。 信件—cookie服务器登记你来过原创 2021-10-30 13:08:01 · 898 阅读 · 4 评论 -
HttpServletRequest详解
HttpServletRequestHttpServletRequest代表客户端的请求,用户通过http协议访问服务器,HTTP请求中的所有信息会被疯转到HttpServletRequest通过这个Request方法可以获得客户端的所有信息首先先看一下Request的一些方法主要的方法是获取参数请求转发获取前端传递的参数注意sendRedirect()方法进行重定向时,需要在前面加上项目路径getRequestDispatcher()进行转发时,不需要加前面的项目路径请求转发和重原创 2021-10-28 18:14:42 · 19554 阅读 · 4 评论 -
解决Servlet中文乱码
req.setCharacterEncoding("UTF-8");resp.setCharacterEncoding("UTF-8");resp.setHeader("content-type","text/html;charset=UTF-8");有时候加上前两句还不行resp.setHeader(“content-type”,“text/html;charset=UTF-8”);这句帮您解决一切问题...原创 2021-10-28 18:13:16 · 65 阅读 · 0 评论 -
❤️Response实现重定向(模拟用户登陆界面实现)❤️
Response 实现重定向一个web资源B收到客户端A请求后,他会通知客户端A访问另外一个web资源C,这个过程叫重定向常见场景:用户登陆实现重定向到方法 void sendRedirect(String var1) throws IOException;resp.setHeader("Location","/r/img");resp.setStatus(302);上面两种写法实现的功能是相同的面试可能会问重定向和转发的区别相同点页面都会实现跳转不同点:请求转原创 2021-10-27 21:53:17 · 1111 阅读 · 8 评论 -
❤️利用Response实现验证码功能❤️
当我们使用Servlet请求时,可以设计一个简单的Servlet请求,让其响应是在页面上显示随机生成的验证码我们思考将分为以下几步实现首先要写一个可以生成固定位数的随机数其次控制浏览器每隔一段时间就刷新一次在内存中创建一个图片,使用画笔将生成的验证码画在图片上最后利用响应输出流,将图片写在浏览器上代码如下package com.lding.servlet;import javax.imageio.ImageIO;import javax.servlet.ServletExceptio原创 2021-10-26 15:16:10 · 170 阅读 · 5 评论 -
Servlet中 Response详解(利用Response下载文件)
dsad’原创 2021-10-25 14:59:24 · 234 阅读 · 4 评论 -
❤️ServletContext详解❤️
ServletContextweb容器在启动的时候,它会为每个web程序都创建一个对应的ServletContext对象,它代表了当前的web应用1、共享数据我在这个Servlet中保存数据,可以在另外一个Servlet中拿到public class HelloServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp)th原创 2021-10-24 11:16:59 · 114 阅读 · 10 评论 -
❤️Servlet详解❤️
一、Servlet1、Servlet简介Servlet就是sun公司开发动态web的一门拘束Sun在这些API中提供一个接口叫做:Servlet,如果你想开发一个Servlet程序,只需要完成小步骤编写一个类,实现Servlet接口把开发好的java类部署到web服务器中把实现了Servlet接口到java程序叫做Servlet2 、HelloServletServlet接口Sun公司有两个默认的实现类:HttpServlet,GenericServlet1.构建一个Mave原创 2021-10-23 22:12:41 · 101 阅读 · 2 评论 -
❤️Maven详解❤️
一、Maven我们为什么要学习Maven在javaWeb开发中,需要使用大量的jar包,我们手动去导入如何能够让一个东西自动帮我导入和配置这个jar包。由此,Maven诞生了!1 Maven架构管理工具我们目前用Maven就是方便导入jar包的!Maven的核心思想:约定大于配置有约束,不要去违反Maven会规定好你该如何去编写我们的java代码,必须按照这个规范来2 下载安装Mavenhttps://www.cnblogs.com/lilyo/p/12887859.html原创 2021-10-20 16:03:37 · 348 阅读 · 3 评论 -
❤️Web服务器与Http详解❤️
Web服务器技术讲解微软:国内最早流行的就是ASP在HTML中嵌入了VB的脚本,ASP+COM在ASP开放中,基本一个页面都有几千行的业务代码,页面极其混乱维护成本高PHP:PHP开发速度很快,功能很强大,跨平台,代码很简单局限性:无法承载大访问量的情况JSP/ServletB/S:浏览器和服务器C/S:客户端和服务器sun公司主推的B/S架构基于java语言的(所有的大公司,或者一些开源的组件,都是用java写的)可以承载三高问题带来的影响语法像ASP,ASP–&原创 2021-09-22 13:36:17 · 368 阅读 · 8 评论 -
❤️(一)JavaWeb架构了解❤️
JavaWeb1、基本概念1.1、前言web开发:web,网页的意思,www.baidu.com静态webhtml,css提供给所有人看的数据始终不会发生变化动态Web淘宝、几乎所有的网站提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同地点看到的信息各不相同技术栈:Servlet/JSP,ASP,PHP在java中,动态web资源开发的技术统称为javaWeb1.2 Web应用程序web应用程序:可以提供浏览器访问的程序a.html、b.htm原创 2021-09-19 17:43:27 · 133 阅读 · 2 评论