我们之前的写法都是前端负责动态显示,后端负责数据处理,这其实是当今最流行的一种前后端分离写法,而早期的JSP并不是这样的,他会在前端中写入后端代码,已经是一种过时的写法,了解即可。(会导致前后端严重耦合。) JSP其实更像是一种HTML创作模版,举个最简单的例子就是上面有一堆TextBox之类的,而我们输入完成后会返回给我们真正的HTML页面,有没有一种基于此JSP创作HTML的感觉。 我们的项目默认servlet是会打开index.jsp或者*.jsp页面的,我们先来看一下jsp文件长什么样子: 12345678910111213<%@ page contentType="t
只有授权的用户才能访问一些页面,如果我们一个一个配置还是太复杂了,所以我们可以用过滤器来进行统一管理页面。我只有过滤器允许的才会到达对应的Servlet,就像一堵墙,而且我们可以设置多层。 添加过滤器 非常简单,实现Filter接口就好了: 1234567@WebFilter("/*") //路径的匹配规则和Servlet一致,这里表示匹配所有请求public class TestFilter implements Filter { @Override public void doFilter(ServletRequest servletReq
这个东西反而没那么难,我们来解释下 Session是服务器上的东西,有很多很多。而我们浏览器会对应一个Session,对应的方式就是我们浏览器Cookie会自带一串密钥,对应上服务器上的Session。我们可以通过请求头里面的密钥来控制服务器上的Session,也就是后端上面的。我们在Cookie当中有一个问题,就是如何让用户没登陆的情况下,也就是服务器没记住的情况下禁止没登陆前往首页。 JSESSIONID 这个 Cookie,是服务器自动生成、自动发送的,不是你自己写的! 浏览器第一次访问服务器时,就会自动拥有! 那么现在,我们在用户登录成功之后,将用户对象添加到Session中,只要
它可以在浏览器中保存一些信息,并且在下次请求时,请求头中会携带这些信息。 我们先来写一个Cookie: 123456// 1. 创建一个名叫 test,值是 yyds 的 CookieCookie cookie = new Cookie("test", "yyds");// 2. 把 Cookie 交给响应 → 让浏览器保存resp.addCookie(cookie);// 3. 让浏览器跳转到 /time 路径resp.sendRedirect("time"); 只需要一次后,我们浏览器访问同域名下的所有地址,都会携带一个Cooki
由官方定义的一系列借口,如Tmocat,最后交给Web服务器来运行我们编写的Servlet。 不再是直接由Tomcat服务器发送编写好的静态网页内容如HTML文件,而是由我们通过JAVA代码进行拼接,更好地实现动态网页。 注册Servlet 这里的test是访问路径,我们HTTP协议URL中最后就是端口或者路径。 123456789101112131415161718192021222324252627@WebServlet("/test")public class TestServlet implements Servlet{ @Override publ
什么是Maven Maven翻译过来是“专家“,是一个纯java开源项目。通过Maven,可以帮助我们做: 项目的自动构建,包括代码的编译、测试、打包、安装、部署等操作。 依赖管理,项目使用到哪些依赖,可以快速完成导入。 把项目打包成jar或者从外部导入jar库包,就像我们之前学习一样,Jar包越来越多。所以我们需要一个更好的管理方式来导入这些Jar包。 Maven也需要环境,不过Idea自带。 我们如果创建好Maven项目后,会发现有如下不同: Maven项目 我们先创建一个Maven项目,里面长这样。 java包:我们的代码一般写在java文件包当中。 resources:J
尝试JUT JDK自带的日志系统也就是JUT,如果我们一直用System.out.println()来在控制台输出信息的话,我们有时候还得找这个东西在哪,如果调试算法题的话应该深有体会。那么Java自己就有一个类java.util.logging包下,实现日志打印: 12345678public class Main { public static void main(String[] args) { // 首先获取日志打印器 Logger logger = Logger.getLogger(Main.class.getName());
导入包 肯定要导入包的啦 @Test 我们可以直接在无参方法前面加上@Test注解,这样我们在Idea编译器中可以直接运行这个方法进行调试。 方法必须是public的 不能是静态方法 返回值必须是void 必须是没有任何参数的方法 断言 对于一个测试用例而言,我们想知道是否最后结果值符合我们的期望值,如果不符合就运行失败。 1234567public class TestMain { @Test public void method(){ System.out.println("我是测试案例!"); A
JDBC中我们调用数据库获得的数据都是结果集,需要运用java底层来运作。 XML语言 XML长什么样 Mybatis使用简单的XML或者注解来进行数据库操作。XML语言最早用于数据的存储和传输,跟HTML长得几乎差不多,但意义不同。 123456789<? xml version="1.0"encoding="utf-8"?><outer> <name>qwq</name> <desc>qwqwq</desc> <inner type="1">
离散型随机变量的独立性 独立性定义 对于离散型随机变量 $X, Y$,若对所有 $i, j$ 满足: $$P\{X=x_i, Y=y_j\} = P\{X=x_i\} \cdot P\{Y=y_j\} $$则称 $X$ 与 $Y$ 相互独立。 例题1:判断独立性 联合分布表: $X \setminus Y$ $0$ $1$ $P\{X=x_i\}$ $0$ $0.3$ $0.3$ $0.6$ $1$ $0.3$ $0.4$ $0.4$ $P\{Y=y_j\}$ $0.6$ $0.4$ $1$