
JavaWeb
从零开始学习JavaWeb的过程,关于JavaWeb的学习过程。
乡野麦穗
未来是否繁花似锦,源自我们当下之努力。做一个勇敢的人,做一个好奇的人,做一个坚定的人,翻山越岭,事竟成。
展开
-
详解:basePath = request.getScheme()+“://“+request.getServerName()+“:“+request.getServerPort()+path+“/“
当去部署他人的项目的时候,经常会看到如下的代码: String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";这是因为每个用户用到的协议、端口号、项目名可能都是不一样的,所以为了防止项目路径找不到(404) 的错误,采用这种动态获取用户项目信息.原创 2020-08-28 16:55:24 · 721 阅读 · 0 评论 -
rapid:实现jsp页面代码的复用
1.为啥要使用在开发jsp页面时,有很多网页使用的部分页面结构相同,这些相同的页面结构不仅添加时每个页面都要添加,而且如果要修改这些相同的地方都要修改,给开发及维护带来了工作量。通过面向对象的问题思考问题:如果相同的部分抽离出来,使用继承的关系,基本的有父类定义,子类可以重写父类的变化的内容。父类可以有多个子类,子类只有一个父类,子类可以有很多子类,这样多层次的继承,可以解决以上问题。对于页面也是一样,如果把相同的部分页面结构抽离成一个父页面,使用到这个页面的子页面就可以继承这个父页面,可以覆盖自己与转载 2020-08-28 16:35:57 · 1419 阅读 · 0 评论 -
Servlet--HttpServletResponse运行流程及设置响应信息
HttpServletResponse概述在Servlet API中,定义了一个HttpServletResponse接口,它继承自ServletResponse接口,专门用来封装HTTP相应消息。由于HTTP相应消息分为状态行、响应消息头、消息体三部分,因此,在HttpServletResponse接口中定义了向客户端发送响应状态码、响应消息头、响应消息体的方法。response的运行流程通过抓包工具抓取HTTP响应因为response代表响应,所以我们可以通过该对象分别设置Http响应的响应转载 2020-08-27 23:35:14 · 2098 阅读 · 0 评论 -
请求转发和重定向
页面跳转的两种方式请求转发重定向地址栏是否发生改变不变变是否保留第一次请求时的数据保留不保留请求次数12跳转发生位置服务端内部重新回到客户端,由客户端再次请求测试:login.jsp<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html><html><...原创 2020-08-12 08:58:54 · 195 阅读 · 0 评论 -
为什么要写Class.forName(String name)?
文章目录前言:1、为什么要Class.forName("com.mysql.jdbc.Driver")?2、为什么不直接new?3、为什么删Class.forName("com.mysql.jdbc.Driver")还是可以运行?前言:Class.forName(String name)在用JDBC连接数据库的时候,这句话经常是要写的,老师常常告诉我们这个是加载数据库驱动,书上也是这么写的,于是我们照葫芦画瓢,就这么一直写下来,但是作为一个贪心的程序员,怎么能止步于此呢?看一下大佬是怎么解释的:1转载 2020-06-20 10:42:58 · 444 阅读 · 0 评论 -
ApacheDBUtils 详解用法
文章目录Dbutils 是什么?为什么需要Dbutils ?Dbutils三个核心类介绍:1:DbUtils:连接数据库对象----jdbc辅助方法的集合类,线程安全2:QueryRunner:SQL语句的操作对象,可以设置查询结果集的封装策略,线程安全。(3)ResultSetHandle:封装数据的策略对象------将封装结果集中的数据,转换到另一个对象实现步骤:代码展示:Dbutils 是什么?DataBaseUtils主要是封装了 JDBC 的操作代码,简化 Dao 层的操作。它能够更好的帮原创 2020-06-02 11:08:54 · 1792 阅读 · 0 评论 -
不容错过的 Java 连接池 详解
文章目录前言:为什么使用连接池需要注意的问题:1、并发问题2、事务处理3、连接池的分配与释放4、连接池的配置与维护几种常见的连接池使用方式:Tomcat连接池DBCP连接池C3P0连接池后记:前言:对于共享资源,有一个很著名的设计模式:资源池(Resource Pool)。该模式正是为了解决资源的频繁分配﹑释放所造成的问题。为解决我们的问题,可以采用数据库连接池技术。数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出转载 2020-06-02 09:03:06 · 735 阅读 · 0 评论 -
JavaWeb三大组件之 监听器 -- Listener入门
文章目录前言:监听器的实现:JavaWeb中的监听器:事件源: 三大域(需要监听的对象)ServletContext:HttpSession:ServletRequest:JavaWeb 中编写监听器:案例一:生命周期监听:ServletContextListener:案例二: 属性监听:ServletContextAttributeListener后记:前言:JavaWeb中的监听器与 Java 图形化界面中的监听器类似,比如我们在点击一个按钮后,想对应的显示一些内容,这时候就需要有个事件监听器监听这原创 2020-05-31 19:29:41 · 762 阅读 · 0 评论 -
JavaWeb之Session的序列化和反序列化 && Session的活化和钝化
文章目录应用场景:一、session的序列化和反序列化什么是序列化?什么是反序列化?二、session的活化和钝化应用场景:1.一般来说,服务器启动后,就不会再关闭了,但是如果逼不得已需要重启,而用户会话还在进行相应的操作,这时就需要使用序列化将session信息保存起来放在硬盘,服务器重启后,又重新加载。这样就保证了用户信息不会丢失,实现永久化保存。2.淘宝每年都会有定时抢购的活动,很多用户会提前登录等待,长时间不进行操作,一致保存在内存中,而到达指定时刻,几十万用户并发访问,就可能会有几十万个se转载 2020-05-31 17:43:09 · 585 阅读 · 0 评论 -
注解方式@WebFilter控制做个 filter的执行顺序
之前我们控制多个filter的执行顺序是通过web.xml中控制filter的位置来控制的,放在上面的会比放在下面的先执行,如下“用户登录检查过滤器”会比“接口日志过滤器”先执行 <!-- 用户登录检测过滤器 --> <filter> <filter-name>UserLoginFilter</filter-name> <filter-class>net.tfgzs.demo.filter.UserLoginFilter<转载 2020-05-30 12:03:51 · 2457 阅读 · 0 评论 -
JDBC访问数据库(Mysql 及各种数据库的连接)
JDBC 是什么?Java DateBase Connection(看这个英文八九不离十是起到一个连接的作用)看下面这张图,JDBC 处于 Java 程序和 数据库中间,我们需要通过JDBC作为一个桥梁,使得两者之间存在联系。怎么使得两者之间建立联系呢?我们可以通过 Java 的一些 API 进行建立连接。 什么是 API 呢?简单来说就是 Java 中的一些 接口、方法、类。...原创 2020-03-15 18:07:56 · 455 阅读 · 0 评论