JavaWeb复习
文章平均质量分 67
记录JavaWeb学习之路。
工一木子
Talk is cheap,show me the code!
展开
-
javaweb-42:之后该怎么持续学习
MyBatis学习路线Spring学习路线:【难度不高,思想特别多】SpringMVC学习路线【web后端整日面对的东西】Linux学习路线SpringBoot学习路线SpringCloud学习路线Hadoop学习路线彩蛋1.百度搜索中的restful风格请求2.shiro的底层是过滤器实现的...原创 2021-10-31 20:56:32 · 129 阅读 · 0 评论 -
javaweb-41:网站注册发送邮件实现
发送带图片及附件的邮件核心代码:package com.gongyi;import com.sun.mail.util.MailSSLSocketFactory;import javax.activation.DataHandler;import javax.activation.FileDataSource;import javax.mail.*;import javax.mail.internet.InternetAddress;import javax.mail.internet.原创 2021-10-31 19:19:13 · 1188 阅读 · 0 评论 -
javaweb-40:邮件发送原理及实现
邮件发送1.依赖包activation-1.1.1.jarmail-1.4.7.jar2.在empty project下新建module:mail-java【普通java工程】3.新建lib目录,导入第一步的依赖包4.将lib目录添加到libraries下架构图发送邮件核心代码Test.javapackage com.gongyi;public class Test { //简单邮件:没有附件和图片,纯文本邮件 //复杂邮件:有附件和图片 //要发送邮原创 2021-10-31 16:29:27 · 673 阅读 · 0 评论 -
javaweb-39:文件上传及拓展鸡汤
文件上传核心代码:FileServlet.javapackage com.gongyi.servlet;import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload.disk.DiskFileItemFactory;import org.apache.commons.fileupload.servlet.ServletFileUpload;import javax.servlet.Serv原创 2021-10-31 11:59:36 · 176 阅读 · 0 评论 -
javaweb-38:文件传输原理及介绍
文件上传准备工作1.使用类介绍2.需要用到的类详解3.架构图:4.需要用到的jar包commons-fileupload-1.4.jarcommons-io-2.6.jar5.项目搭建步骤1)新建空项目:功能扩展2)在空项目下新建module,module为普通java工程,添加web支持3)新建lib包,导入common-io,commons-fileupload包4)把lib添加到libraries下彩蛋1.Idea创建web工程的方式1)普通java工程,添加web支原创 2021-10-30 18:21:25 · 279 阅读 · 0 评论 -
javaweb-37:smbms架构分析及方法学习
系统架构图源文件用户管理增加用户UserDao//增加用戶信息int add(Connection connection, User user) throws SQLException;UserDaoImpl@Overridepublic int add(Connection connection, User user) throws SQLException { PreparedStatement pstm = null; int updateRows = 0;原创 2021-10-30 17:00:16 · 1418 阅读 · 0 评论 -
javaweb-36:smbms用户管理分页OK
3、获取角色操作为了我们职责统一,可以把角色的操作单独放在一个包中,和POJO类对应初始化sql: INSERT INTO `smbms`.`smbms_role` (`roleCode`, `roleName`, `createBy`, `creationDate`, `modifyBy`, `modifyDate`) VALUES ('SMBMS_ADMIN', '系统管理员', '1', '2021-10-29 06:56:48', '1', '2021-10-29 06:56:52'),('原创 2021-10-29 08:34:33 · 221 阅读 · 0 评论 -
javaweb-35:smbms用户管理底层实现
用户管理实现思路:1.导入分页的工具类package com.gongyi.util;public class PageSupport { //当前页码-来自于用户输入 private int currentPageNo = 1; //总数量(表) private int totalCount = 0; //页面容量 private int pageSize = 0; //总页数-totalCount/pageSize(+1) p原创 2021-10-29 00:31:25 · 1073 阅读 · 0 评论 -
javaweb-34:Ajax验证旧密码实现
优化密码修改,使用ajax1.阿里巴巴的fastjson<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.61</version></dependency>2.后台代码修改@Overrideprotected void doGet(HttpSer原创 2021-10-25 18:17:36 · 198 阅读 · 0 评论 -
javaweb-33:smbms密码修改实现
密码修改1.导入前端素材 <li><a href="${pageContext.request.contextPath }/jsp/pwdmodify.jsp">密码修改</a></li>2.写项目,建议从底层向上写3.UserDao接口//修改当前用户密码int updatePwd(Connection connection,int id,String password) throws SQLException;4.UserDao接口实现原创 2021-10-25 16:48:54 · 341 阅读 · 1 评论 -
javaweb-32:smbms注销及权限过滤
登录功能优化注销功能:思路:移除session,返回登录页面1.写注销Servletpackage com.gongyi.servlet.user;import com.gongyi.util.Constants;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.s原创 2021-10-25 11:00:56 · 167 阅读 · 0 评论 -
javaweb-31:smbms登录流程实现
登录功能实现1.编写前端页面login.jsp<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html><html> <head lang="en"> <meta charset="UTF-8"> <title>系统登录 -原创 2021-10-24 18:47:20 · 2722 阅读 · 0 评论 -
javaweb-30:smbms项目搭建
SMBMS数据库:sql脚本:【通过sqlyog图形化界面操作,在历史记录中对应相应的sql,表的引擎默认为InnoDB,字符集和核对默认和数据库一致】CREATE DATABASE `smbms`CHARACTER SET utf8 COLLATE utf8_general_ci; USE `smbms`; CREATE TABLE `smbms`.`smbms_user` ( `id` BIGINT NOT NULL AUTO_INCREMENT, `userCode` VARCHAR(原创 2021-10-24 16:51:55 · 2856 阅读 · 0 评论 -
javaweb-29:JDBC事务
事务要么都成功,要么都失败ACID原则:保证数据的安全开启事务事务提交 commit()事务回滚 rollback()关闭事务转账A:1000B:1000A(900) --100--> B(1100) Junit单元测试依赖:<!--单元测试--><dependency> <groupId>junit</groupId> <artifactId>junit</artifactI原创 2021-10-23 18:05:44 · 128 阅读 · 0 评论 -
javaweb-28:JDBC复习
14、JDBC什么是JDBC:Java数据库连接需要jar包支持:java.sqljavax.sqlmysql-connector-java.jar 连接驱动(必须要导入)实验环境搭建手写sql:【预备知识】CREATE TABLE users ( id INT PRIMARY KEY, `name` VARCHAR(40), `password` VARCHAR(40), email VARCHAR(60), birthday DATE);INSERT INTO us原创 2021-10-23 17:30:21 · 128 阅读 · 0 评论 -
javaweb-27:Filter实现权限拦截
用户登录之后才能进入主页,用户注销后就不能进入主页了!1.用户登录之后,向session中放入用户的数据2.进入主页的时候,要判断用户是否已经登录 。要求:在过滤器中实现代码showSysFilter.javapackage com.gongyi.filter;import javax.servlet.*;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;i原创 2021-10-23 15:54:11 · 189 阅读 · 0 评论 -
javaweb-26:监听器GUI中理解
13、过滤器、监听器常见应用代码showpackage com.gongyi.listener;import javax.swing.plaf.ColorUIResource;import java.awt.*;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.awt.event.WindowListener;/** * @Classname TestPanel * @D原创 2021-10-23 13:22:18 · 158 阅读 · 0 评论 -
javaweb-25:监听器
12、监听器实现一个监听器的接口:(有N种)1.编写一个监听器实现监听器的接口…public class OnlineCountListener implements HttpSessionListener { public void sessionCreated(HttpSessionEvent se) {} public void sessionDestroyed(HttpSessionEvent se) {} }2.web.xml中注册监听器<!-- 注原创 2021-10-23 13:03:19 · 266 阅读 · 0 评论 -
javaweb-24:过滤器Filter
11、FilterFilter:过滤器,用来过滤网站的数据处理中文乱码登录验证…Filter开发步骤:1.导包2.编写过滤器1.导包不要错 2.实现Filter接口,重写对应的方法即可 3.在web.xml中配置Filter代码showShowServlet.javapackage com.gongyi.servlet;import javax.servlet.ServletException;import javax.servlet.http.HttpServl原创 2021-10-17 10:12:56 · 120 阅读 · 0 评论 -
javaweb-23:MVC三层架构
10、MVC三层架构什么是MVC?Model(模型)View(视图)Controller(控制器)10.1、早些年用户直接访问控制层,控制层就可以直接操作数据库servlet --> CRUD --> 数据库弊端:程序十分臃肿,不利于维护servlet的代码中:处理请求、响应、视图跳转、处理JDBC、处理业务代码、处理逻辑代码 架构:没有什么是加一层解决不了的 例如:JDBC,就是在MySQL,Oracle,SQLServer等数据库的基础上原创 2021-10-16 21:45:36 · 130 阅读 · 0 评论 -
javaweb-22:JavaBean
9、JavaBean实体类JavaBean有特定的写法:必须要有一个无参构造属性必须私有化必须有对应的set/get方法一般用来和数据库的字段做映射,ORMORM:对象关系映射表 --> 类字段 --> 属性行记录 --> 对象people表idnameageaddress1工一1号11北京2工一2号22北京3工一3号33北京class People { private int id;原创 2021-10-16 21:16:16 · 165 阅读 · 0 评论 -
javaweb-21:JSP、JSTL标签
8.6、JSP标签、JSTL标签、EL表达式依赖: <!-- jstl表达式的依赖 --><dependency> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>jstl-api</artifactId> <version>1.2</version></dependency><!-- standard原创 2021-10-16 18:01:31 · 310 阅读 · 0 评论 -
javaweb-20:JSP内置对象及作用域
8.5、 9大内置对象PageContext 存东西Request 存东西ResponseSession 存东西Application【ServletContext】存东西Config【ServletConfig】outpage,不用了解exceptionpageContext.setAttribute("name1","工一1号");//保存的数据只在一个页面中有效request.setAttribute("name2","工一2号");//保存的数据只在一次请求中有效,请求转发原创 2021-10-16 15:52:37 · 113 阅读 · 0 评论 -
javaweb-19:JSP基础语法和指令
8.3、JSP基本语法任何语言都有自己的语法,Java中有。JSP作为Java技术的一种应用,它拥有一些自己扩充的语法(了解,知道即可),Java所有的语法都支持JSP表达式 <%-- JSP表达式 作用:用来将程序的输出,输出到客户端 <%= 变量或者表达式%>--%><%= new java.util.Date()%>JSP脚本片段<%-- jsp脚本片段 --%><% int sum =原创 2021-10-14 09:11:06 · 211 阅读 · 0 评论 -
javaweb-18:JSP原理剖析
8、JSP8.1、什么是JSPJava Server Pages:Java服务器端页面,也和Servlet一样,用于动态web技术最大的特点:写JSP就像在写HTML区别:HTML只给用户提供静态的数据JSP页面中可以嵌入Java代码,为用户提供动态数据8.2、JSP原理思路:JSP到底怎么执行的?代码层面没有任何问题服务器内部工作tomcat中有一个work目录idea中使用tomcat的会在idea的tomcat中生成一个work目录我电脑的地址:C:\原创 2021-10-12 08:43:49 · 456 阅读 · 0 评论 -
javaweb-17:Session讲解
7.4 Session(重点)什么是Session?服务器会给每一个用户(浏览器)创建一个Session对象一个Session独占一个浏览器,只要浏览器没有关闭,这个Session就存在用户登录之后,整个网站它都可以访问!(保存用户的信息;保存购物车的信息…)Session和Cookie的区别?Cookie是把用户的数据写给用户的浏览器,浏览器保存(可以保存多个)Session把用户的数据写到用户独占session中,服务器端保存(保存重要的信息,减少服务器资源的浪费)Sessio原创 2021-10-11 09:34:35 · 132 阅读 · 0 评论 -
javaweb-16:Cookie讲解
7.Session、Cookie7.1、会话会话:用户打开一个浏览器,点击了很多超链接,访问多个web资源,关闭浏览器,这个过程可以称之为会话有状态会话:一个同学来过教室,下次再来教室,我们会知道这个同学,曾经来过,称之为有状态会话你能怎么证明你在Qunar上班?你 Qunar1.工牌 Qunar给你工牌2.Qunar登记 Qunar标记你是Qunar员工一个网站怎么证明你来过?客户端 服务端1.服务端给客户端一个信件,客户端下次访问服务端带上信件就可以了。Cookie2.原创 2021-10-10 17:33:26 · 180 阅读 · 0 评论 -
javaweb-15:Request应用
6.7 HttpServletRequestHttpServletRequest代表客户端的请求,用户通过Http协议访问服务器,HTTP请求中的所有信息都会被封装到HttpServletRequset,通过这个HttpServletRequest的方法,获得客户端的所有信息:获取前端传递的参数,请求转发代码show:LoginServlet.javaweb.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns原创 2021-10-09 13:19:06 · 107 阅读 · 0 评论 -
javaweb-14:Response重定向
4、实现重定向B一个web资源收到客户端A请求后,B他会通知A客户端去访问另一个web资源C,这个过程叫重定向常见场景:用户登录void sendRedirect(String var1) throws IOException;测试:@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {原创 2021-10-08 21:52:41 · 172 阅读 · 0 评论 -
javaweb-13:Response验证码实现
3、验证码功能验证码怎么来的?前端实现后端实现,需要用到java的图片类,生成一个图片代码showImageServlet.javapackage com.gongyi.servlet;import javax.imageio.ImageIO;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;原创 2021-10-08 11:56:38 · 105 阅读 · 0 评论 -
javaweb-12:Response下载文件
6.6、HttpServletResponseWeb服务器接收到客户端的http请求,针对这个请求,分别创建一个代表请求的HttpServletRequest对象,代表响应的一个HttpServletResponse如果要获取客户端请求过来的参数,找HttpServletRequest如果要给客户端响应一些信息,找HttpServletResponse1、简单分类负责向浏览器发送数据的方法public ServletOutputStream getOutputStream() throws原创 2021-10-07 16:48:50 · 390 阅读 · 0 评论 -
javaweb-11:ServletContext应用
2、获取初始化参数web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee原创 2021-09-30 09:34:46 · 142 阅读 · 0 评论 -
javaweb-10:ServletContext对象
6.5、ServletContextweb容器在启动的时候,它会为每个web程序都创建一个对应的ServletContext对象,它代表了当前的web应用1.共享数据我在这个Servlet中保存的数据,可以在另一个Servlet中拿到核心代码:HelloServlet.javapackage com.gongyi.servlet;import javax.servlet.ServletContext;import javax.servlet.ServletException;impor原创 2021-09-29 08:54:12 · 134 阅读 · 0 评论 -
javaweb-09:Servlet原理
6.3、Servlet原理Servlet是由web服务器调用,web服务器在收到浏览器请求之后,会:6.4、Mapping问题1.一个Servlet可以指定一个映射路径<servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping>2.一个原创 2021-09-26 08:43:04 · 115 阅读 · 0 评论 -
javaweb-08:HelloServlet
6、Servlet6.1、Servlet简介Servlet就是sun公司开的动态web的一门技术sun在这些api中提供一个接口叫做:Servlet,如果你想开发一个Servlet程序,只需要完成两个小步骤:编写一个类,实现Servlet接口把开发好的Java类部署到web服务器中把实现了Servlet接口的Java程序叫做Servlet6.2、HelloServletServlet接口Sun公司有两个默认的实现类,HttpServlet,GenericServlet1.构建一个原创 2021-09-26 00:03:09 · 140 阅读 · 0 评论 -
5、Maven
5、Maven我为什么要学习这个技术?1.在Javaweb开发中,需要使用大量的jar包,我们需要手动去导入2.如何能够让一个东西自动帮我导入和配置这个jar包由此,maven诞生了!5.1、Maven项目架构管理工具我们目前就是用来方便导入jar包的Maven的核心思想:约定大于配置有约束,不要去违反Maven会规定好你该如何去编写我们的Java代码,必须要按照这个规范来5.2、下载安装Maven官网:https://maven.apache.org/下载完成后,解压即可工原创 2021-06-19 19:21:01 · 2260 阅读 · 0 评论 -
4、Http
4、Http4.1、什么是HttpHTTP(超文本传输协议)是一个简单的请求-相应协议,它通常运行在TCP之上。文本:html,字符串,~…超文本:图片,音乐,视频,定位,地图…80Https:安全的4434.2、两个时代http 1.0HTTP/1.0:客户端可以与web服务器连接后,只能获得一个web资源,断开连接http 2.0HTTP/1.1:客户端可以与web服务器连接后,可以获得多个web资源4.3、Http请求客户端—发请求(Request原创 2021-06-19 18:14:07 · 134 阅读 · 0 评论 -
3、Tomcat
3、Tomcat3.1 安装Tomcattomcat官网:https://tomcat.apache.org/3.2、Tomcat启动和配置文件夹作用:启动,关闭tomcat双击startup.bat访问测试:http://localhost:8080服务器关闭访问:可能遇到的问题:(其实看startup.bat文件内容就能找到如下问题答案)1.Java环境变量没有配置2.闪退问题:需要配置兼容性(tomcat版本与jdk版本是否兼容)3.乱码问题:配置文件中配置原创 2021-06-19 13:28:43 · 262 阅读 · 0 评论 -
2、web服务器
2、web服务器2.1、 技术讲解ASP微软:国内最早流行的就是ASP在HTML中嵌入了VB的脚本,ASP+COM在ASP开发中,基本一个页面都有几千行的业务代码,页面极其混乱维护成本高C#IIS<h1> <h1> </h1> <h1> </h1> <h1> <% S原创 2021-06-13 17:01:55 · 159 阅读 · 0 评论 -
1、基本概念
1、基本概念1.1、 前言web开发:web,网页的意思,www.baidu.com静态webhtml,css提供给所有人看的数据始终不会发生变化动态web淘宝,几乎是所有的网站提供给所有人看的数据,始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同技术栈:Servlet/JSP,ASP,PHP在Java中,动态web资源开发的技术统称为JavaWeb1.2、web应用程序web应用程序:可以提供浏览器访问的程序a.html,b.html原创 2021-06-13 11:40:56 · 1096 阅读 · 1 评论