-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
989 lines (590 loc) · 35.8 KB
/
index.html
File metadata and controls
989 lines (590 loc) · 35.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
<!DOCTYPE html>
<html theme="dark" showBanner="true" hasBanner="true" >
<link href="https://cdn.staticfile.org/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet">
<link href="https://cdn.staticfile.org/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet">
<link href="https://cdn.staticfile.org/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet">
<script src="/js/color.global.min.js" ></script>
<script src="/js/load-settings.js" ></script>
<head>
<meta charset="utf-8">
<title>Hexo</title>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="preload" href="/css/fonts/Roboto-Regular.ttf" as="font" type="font/ttf" crossorigin="anonymous">
<link rel="preload" href="/css/fonts/Roboto-Bold.ttf" as="font" type="font/ttf" crossorigin="anonymous">
<meta property="og:type" content="website">
<meta property="og:title" content="Hexo">
<meta property="og:url" content="http://example.com/index.html">
<meta property="og:site_name" content="Hexo">
<meta property="og:locale" content="en_US">
<meta property="article:author" content="John Doe">
<meta name="twitter:card" content="summary">
<link rel="alternate" href="/atom.xml" title="Hexo" type="application/atom+xml">
<link rel="icon" media="(prefers-color-scheme: light)" href="/images/favicon-light-32.png" sizes="32x32">
<link rel="icon" media="(prefers-color-scheme: light)" href="/images/favicon-light-128.png" sizes="128x128">
<link rel="icon" media="(prefers-color-scheme: light)" href="/images/favicon-light-180.png" sizes="180x180">
<link rel="icon" media="(prefers-color-scheme: light)" href="/images/favicon-light-192.png" sizes="192x192">
<link rel="icon" media="(prefers-color-scheme: dark)" href="/images/favicon-dark-32.png" sizes="32x32">
<link rel="icon" media="(prefers-color-scheme: dark)" href="/images/favicon-dark-128.png" sizes="128x128">
<link rel="icon" media="(prefers-color-scheme: dark)" href="/images/favicon-dark-180.png" sizes="180x180">
<link rel="icon" media="(prefers-color-scheme: dark)" href="/images/favicon-dark-192.png" sizes="192x192">
<link rel="stylesheet" href="/css/style.css">
<meta name="generator" content="Hexo 7.3.0"></head>
<body>
<div id="banner" class=" is_home ">
<img src="/1.jpg" itemprop="image">
<div id="banner-dim"></div>
</div>
<div id="main-grid" class=" ">
<div id="nav" class=" is_home " >
<navbar id="navbar">
<nav id="title-nav">
<a href="/">
<div id="vivia-logo">
<div class="dot"></div>
<div class="dot"></div>
<div class="dot"></div>
<div class="dot"></div>
</div>
<div>Hexo </div>
</a>
</nav>
<nav id="main-nav">
<a class="main-nav-link" href="/">Home</a>
<a class="main-nav-link" href="/archives">Archives</a>
<a class="main-nav-link" href="/about">About</a>
</nav>
<nav id="sub-nav">
<a id="theme-btn" class="nav-icon">
<span class="light-mode-icon"><svg xmlns="http://www.w3.org/2000/svg" height="20" viewBox="0 -960 960 960" width="20"><path d="M438.5-829.913v-48q0-17.452 11.963-29.476 11.964-12.024 29.326-12.024 17.363 0 29.537 12.024t12.174 29.476v48q0 17.452-11.963 29.476-11.964 12.024-29.326 12.024-17.363 0-29.537-12.024T438.5-829.913Zm0 747.826v-48q0-17.452 11.963-29.476 11.964-12.024 29.326-12.024 17.363 0 29.537 12.024t12.174 29.476v48q0 17.452-11.963 29.476-11.964 12.024-29.326 12.024-17.363 0-29.537-12.024T438.5-82.087ZM877.913-438.5h-48q-17.452 0-29.476-11.963-12.024-11.964-12.024-29.326 0-17.363 12.024-29.537t29.476-12.174h48q17.452 0 29.476 11.963 12.024 11.964 12.024 29.326 0 17.363-12.024 29.537T877.913-438.5Zm-747.826 0h-48q-17.452 0-29.476-11.963-12.024-11.964-12.024-29.326 0-17.363 12.024-29.537T82.087-521.5h48q17.452 0 29.476 11.963 12.024 11.964 12.024 29.326 0 17.363-12.024 29.537T130.087-438.5Zm660.174-290.87-34.239 32q-12.913 12.674-29.565 12.174-16.653-.5-29.327-13.174-12.674-12.673-12.554-28.826.12-16.152 12.794-28.826l33-35q12.913-12.674 30.454-12.674t30.163 12.847q12.709 12.846 12.328 30.826-.38 17.98-13.054 30.653ZM262.63-203.978l-32 34q-12.913 12.674-30.454 12.674t-30.163-12.847q-12.709-12.846-12.328-30.826.38-17.98 13.054-30.653l33.239-31q12.913-12.674 29.565-12.174 16.653.5 29.327 13.174 12.674 12.673 12.554 28.826-.12 16.152-12.794 28.826Zm466.74 33.239-32-33.239q-12.674-12.913-12.174-29.565.5-16.653 13.174-29.327 12.673-12.674 28.826-13.054 16.152-.38 28.826 12.294l35 33q12.674 12.913 12.674 30.454t-12.847 30.163q-12.846 12.709-30.826 12.328-17.98-.38-30.653-13.054ZM203.978-697.37l-34-33q-12.674-12.913-13.174-29.945-.5-17.033 12.174-29.707t31.326-13.293q18.653-.62 31.326 13.054l32 34.239q11.674 12.913 11.174 29.565-.5 16.653-13.174 29.327-12.673 12.674-28.826 12.554-16.152-.12-28.826-12.794ZM480-240q-100 0-170-70t-70-170q0-100 70-170t170-70q100 0 170 70t70 170q0 100-70 170t-170 70Zm-.247-82q65.703 0 111.475-46.272Q637-414.544 637-480.247t-45.525-111.228Q545.95-637 480.247-637t-111.475 45.525Q323-545.95 323-480.247t45.525 111.975Q414.05-322 479.753-322ZM481-481Z"/></svg></span>
<span class="dark-mode-icon"><svg xmlns="http://www.w3.org/2000/svg" height="20" viewBox="0 -960 960 960" width="20"><path d="M480.239-116.413q-152.63 0-258.228-105.478Q116.413-327.37 116.413-480q0-130.935 77.739-227.435t206.304-125.043q43.022-9.631 63.87 10.869t3.478 62.805q-8.891 22.043-14.315 44.463-5.424 22.42-5.424 46.689 0 91.694 64.326 155.879 64.325 64.186 156.218 64.186 24.369 0 46.978-4.946 22.609-4.945 44.413-14.076 42.826-17.369 62.967 1.142 20.142 18.511 10.511 61.054Q807.174-280 712.63-198.206q-94.543 81.793-232.391 81.793Zm0-95q79.783 0 143.337-40.217 63.554-40.218 95.793-108.283-15.608 4.044-31.097 5.326-15.49 1.283-31.859.805-123.706-4.066-210.777-90.539-87.071-86.473-91.614-212.092-.24-16.369.923-31.978 1.164-15.609 5.446-30.978-67.826 32.478-108.282 96.152Q211.652-559.543 211.652-480q0 111.929 78.329 190.258 78.329 78.329 190.258 78.329ZM466.13-465.891Z"/></svg></span>
</a>
<a id="nav-rss-link" class="nav-icon mobile-hide" href="/atom.xml" title="RSS Feed">
<svg xmlns="http://www.w3.org/2000/svg" height="20" viewBox="0 -960 960 960" width="20"><path d="M198-120q-25.846 0-44.23-18.384-18.384-18.385-18.384-44.23 0-25.846 18.384-44.23 18.384-18.385 44.23-18.385 25.846 0 44.23 18.385 18.384 18.384 18.384 44.23 0 25.845-18.384 44.23Q223.846-120 198-120Zm538.385 0q-18.846 0-32.923-13.769-14.076-13.769-15.922-33.23-8.692-100.616-51.077-188.654-42.385-88.039-109.885-155.539-67.5-67.501-155.539-109.885Q283-663.462 182.385-672.154q-19.461-1.846-33.23-16.23-13.769-14.385-13.769-33.846t14.076-32.922q14.077-13.461 32.923-12.23 120.076 8.692 226.038 58.768 105.961 50.077 185.73 129.846 79.769 79.769 129.846 185.731 50.077 105.961 58.769 226.038 1.231 18.846-12.538 32.922Q756.461-120 736.385-120Zm-252 0q-18.231 0-32.423-13.461t-18.653-33.538Q418.155-264.23 348.886-333.5q-69.27-69.27-166.501-84.423-20.077-4.462-33.538-18.961-13.461-14.5-13.461-33.346 0-19.076 13.884-33.23 13.884-14.153 33.115-10.922 136.769 15.384 234.384 112.999 97.615 97.615 112.999 234.384 3.231 19.23-10.538 33.115Q505.461-120 484.385-120Z"/></svg>
</a>
<div id="nav-menu-btn" class="nav-icon">
<svg xmlns="http://www.w3.org/2000/svg" height="20" viewBox="0 -960 960 960" width="20"><path d="M177.37-252.282q-17.453 0-29.477-11.964-12.024-11.963-12.024-29.326t12.024-29.537q12.024-12.174 29.477-12.174h605.26q17.453 0 29.477 11.964 12.024 11.963 12.024 29.326t-12.024 29.537q-12.024 12.174-29.477 12.174H177.37Zm0-186.218q-17.453 0-29.477-11.963-12.024-11.964-12.024-29.326 0-17.363 12.024-29.537T177.37-521.5h605.26q17.453 0 29.477 11.963 12.024 11.964 12.024 29.326 0 17.363-12.024 29.537T782.63-438.5H177.37Zm0-186.217q-17.453 0-29.477-11.964-12.024-11.963-12.024-29.326t12.024-29.537q12.024-12.174 29.477-12.174h605.26q17.453 0 29.477 11.964 12.024 11.963 12.024 29.326t-12.024 29.537q-12.024 12.174-29.477 12.174H177.37Z"/></svg>
</div>
</nav>
</navbar>
<div id="nav-dropdown" class="hidden">
<div id="dropdown-link-list">
<a class="nav-dropdown-link" href="/">Home</a>
<a class="nav-dropdown-link" href="/archives">Archives</a>
<a class="nav-dropdown-link" href="/about">About</a>
<a class="nav-dropdown-link" href="/atom.xml" title="RSS Feed">RSS</a>
</div>
</div>
<script>
let dropdownBtn = document.getElementById("nav-menu-btn");
let dropdownEle = document.getElementById("nav-dropdown");
dropdownBtn.onclick = function() {
dropdownEle.classList.toggle("hidden");
}
</script>
</div>
<div id="sidebar-wrapper">
<sidebar id="sidebar">
<div class="widget-wrap">
<div class="info-card">
<div class="avatar">
<image src=/2.jpg></image>
<div class="img-dim"></div>
</div>
<div class="info">
<div class="username">Thrinisty </div>
<div class="dot"></div>
<div class="subtitle">苦逼大学生来的 </div>
<div class="link-list">
<a class="link-btn" target="_blank" rel="noopener" href="https://twitter.com" title="Twitter"><i class="fa-brands fa-twitter"></i></a>
<a class="link-btn" target="_blank" rel="noopener" href="https://store.steampowered.com" title="Steam"><i class="fa-brands fa-steam"></i></a>
<a class="link-btn" target="_blank" rel="noopener" href="https://github.com" title="GitHub"><i class="fa-brands fa-github"></i></a>
</div>
</div>
</div>
</div>
<div class="sticky">
</div>
</sidebar>
</div>
<div id="content-body">
<article id="post-博客停止维护说明" class="h-entry article article-type-post" itemprop="blogPost" itemscope itemtype="https://schema.org/BlogPosting">
<div class="article-inner">
<div class="article-main">
<header class="article-header">
<div class="main-title-bar">
<div class="main-title-dot"></div>
<h1 itemprop="name">
<a class="p-name article-title" href="/2025/05/10/%E5%8D%9A%E5%AE%A2%E5%81%9C%E6%AD%A2%E7%BB%B4%E6%8A%A4%E8%AF%B4%E6%98%8E/">博客停用</a>
</h1>
</div>
<div class='meta-info-bar'>
<div class="meta-info">
<time class="dt-published" datetime="2025-05-09T16:00:00.000Z" itemprop="datePublished">2025-05-10</time>
</div>
<div class="need-seperator meta-info">
<div class="meta-cate-flex">
Uncategorized
</div>
</div>
<div class="wordcount need-seperator meta-info">
272 words
</div>
</div>
</header>
<div class="e-content article-entry" itemprop="articleBody">
<div class="truncate-text">
博客停止维护说明是这个样子的,这个博客的样式比较古老了,而我又恰好发现了它的一个新版本,这个版本支持搜索,Tags关键词,更多更好的markdown信息描述,最关键的是可以他比原先这个样式耐看,更加华丽一点,虽然没什么刁用,但是可以带来好心情。
所以,这一个网址就不再进行更新了,我将大多数的推文也同步到了新的博客仓库上(挺麻烦的还得挨个改头部注释,不然没法构建出静态网页来)
花了半天时间更改优化了一下显示,现在新的博客网站上线啦,欢迎光临新的小家(其实就在隔壁 ;) )
新博客网址: https://thrinisty.github.io/Blog/
</div>
</div>
</div>
<a class="right-panel non-pic "
href="/2025/05/10/%E5%8D%9A%E5%AE%A2%E5%81%9C%E6%AD%A2%E7%BB%B4%E6%8A%A4%E8%AF%B4%E6%98%8E/"
>
<i class="fa-solid fa-angle-right non-pic"></i>
</a>
</div>
</article>
<article id="post-JavaWeb笔记(JSP)" class="h-entry article article-type-post" itemprop="blogPost" itemscope itemtype="https://schema.org/BlogPosting">
<div class="article-inner">
<div class="article-main">
<header class="article-header">
<div class="main-title-bar">
<div class="main-title-dot"></div>
<h1 itemprop="name">
<a class="p-name article-title" href="/2025/05/08/JavaWeb%E7%AC%94%E8%AE%B0%EF%BC%88JSP%EF%BC%89/">JavaWeb笔记(JSP)</a>
</h1>
</div>
<div class='meta-info-bar'>
<div class="meta-info">
<time class="dt-published" datetime="2025-05-08T06:00:00.000Z" itemprop="datePublished">2025-05-08</time>
</div>
<div class="need-seperator meta-info">
<div class="meta-cate-flex">
Uncategorized
</div>
</div>
<div class="wordcount need-seperator meta-info">
9.8k words
</div>
</div>
</header>
<div class="e-content article-entry" itemprop="articleBody">
<div class="truncate-text">
JavaWeb笔记JSP初步介绍JSP全称为Java Server Pages,java的服务器页面,主要作用为替Servlet程序回传html页面的数据,因为Servlet程序回传html页面数据是一件非常繁琐的事情,开发成本和维护成本都很高
我们在使用Servlet程序回传html需要通过回传流需要一行一行地将html页面的数据传回,要会传完整一个html页面需要大量的代码使用write写入返回到客户端地浏览器
以下是一个代码示例,可见非常的繁琐
123456789101112131415161718192021222324252627282930313233@WebServlet("/test")public class TestServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {...
</div>
</div>
</div>
<a class="right-panel non-pic "
href="/2025/05/08/JavaWeb%E7%AC%94%E8%AE%B0%EF%BC%88JSP%EF%BC%89/"
>
<i class="fa-solid fa-angle-right non-pic"></i>
</a>
</div>
</article>
<article id="post-JavaWeb笔记(Servlet(ServletRequest,ServletResponse,重定向))" class="h-entry article article-type-post" itemprop="blogPost" itemscope itemtype="https://schema.org/BlogPosting">
<div class="article-inner">
<div class="article-main">
<header class="article-header">
<div class="main-title-bar">
<div class="main-title-dot"></div>
<h1 itemprop="name">
<a class="p-name article-title" href="/2025/05/07/JavaWeb%E7%AC%94%E8%AE%B0%EF%BC%88Servlet%EF%BC%88ServletRequest%EF%BC%8CServletResponse%EF%BC%8C%E9%87%8D%E5%AE%9A%E5%90%91%EF%BC%89%EF%BC%89/">JavaWeb笔记(Servlet(ServletRequest,ServletResponse,重定向))</a>
</h1>
</div>
<div class='meta-info-bar'>
<div class="meta-info">
<time class="dt-published" datetime="2025-05-07T09:00:00.000Z" itemprop="datePublished">2025-05-07</time>
</div>
<div class="need-seperator meta-info">
<div class="meta-cate-flex">
Uncategorized
</div>
</div>
<div class="wordcount need-seperator meta-info">
7.4k words
</div>
</div>
</header>
<div class="e-content article-entry" itemprop="articleBody">
<div class="truncate-text">
JavaWeb笔记今天完成Servlet剩余部分的学习,JavaWeb部分的实战项目我就不练了,我打算这一个部分的练手等到学习完开发框架之后做成一整个项目
今天发现自己的Servlet程序没有办法打印出中文字符,去网络上搜索了以下,回答的都是处理请求头的编码处理,但想想直接打印也是乱码,应该是Tomcat的配置出了问题,以下是解决方式:在Tomcat运行设置里的虚拟机选项填入以下内容(修改运行配置)
1-Dfile.encoding=UTF-8
HttpServletRequest作用:每次只要有请求进入Tomcat服务器,Tomcat服务器就会把请求过来的HTTP协议信息解析好封装到Request对象中,然后传递到service方法,在doGet和doPost方法中给我们使用,我们可以通过HttpServletRequest对象,获取到所有的请求信息
http://localhost:8080/ServletTest/test?username=2022302546&password=123455&hobby=cpp&hobby=java
常用方法...
</div>
</div>
</div>
<a class="right-panel non-pic "
href="/2025/05/07/JavaWeb%E7%AC%94%E8%AE%B0%EF%BC%88Servlet%EF%BC%88ServletRequest%EF%BC%8CServletResponse%EF%BC%8C%E9%87%8D%E5%AE%9A%E5%90%91%EF%BC%89%EF%BC%89/"
>
<i class="fa-solid fa-angle-right non-pic"></i>
</a>
</div>
</article>
<article id="post-JavaWeb笔记(Servlet(Servlet,HTTP协议))" class="h-entry article article-type-post" itemprop="blogPost" itemscope itemtype="https://schema.org/BlogPosting">
<div class="article-inner">
<div class="article-main">
<header class="article-header">
<div class="main-title-bar">
<div class="main-title-dot"></div>
<h1 itemprop="name">
<a class="p-name article-title" href="/2025/05/06/JavaWeb%E7%AC%94%E8%AE%B0%EF%BC%88Servlet%EF%BC%88Servlet%EF%BC%8CHTTP%E5%8D%8F%E8%AE%AE%EF%BC%89%EF%BC%89/">JavaWeb笔记(Servlet(Servlet,HTTP协议))</a>
</h1>
</div>
<div class='meta-info-bar'>
<div class="meta-info">
<time class="dt-published" datetime="2025-05-06T06:00:00.000Z" itemprop="datePublished">2025-05-06</time>
</div>
<div class="need-seperator meta-info">
<div class="meta-cate-flex">
Uncategorized
</div>
</div>
<div class="wordcount need-seperator meta-info">
8k words
</div>
</div>
</header>
<div class="e-content article-entry" itemprop="articleBody">
<div class="truncate-text">
JavaWeb笔记之前Maven没有配置好导致了JavaWeb的环境配置比较困难,去大概了解了一下Maven构建的相关知识,现在可以快速通过坐标导入相关的jar包了,马上开始Servlet的学习
Servlet入门使用我使用的是Maven构建的Servlet程序,不需要web.xml进行注册,只需要使用@WebServlet注解完成绑定即可访问使用
新建一个类,实现Servlet的接口方法
12@WebServlet("/hello")//使用该注解可以绑定访问/hello地址的时候调用Servlet服务public class HelloServlet implements Servlet
12345678910111213141516171819202122232425@Overridepublic void init(ServletConfig servletConfig) throws ServletException {}@Overridepublic ServletConfig getServletConfig() {...
</div>
</div>
</div>
<a class="right-panel non-pic "
href="/2025/05/06/JavaWeb%E7%AC%94%E8%AE%B0%EF%BC%88Servlet%EF%BC%88Servlet%EF%BC%8CHTTP%E5%8D%8F%E8%AE%AE%EF%BC%89%EF%BC%89/"
>
<i class="fa-solid fa-angle-right non-pic"></i>
</a>
</div>
</article>
<article id="post-自学第二月份总结" class="h-entry article article-type-post" itemprop="blogPost" itemscope itemtype="https://schema.org/BlogPosting">
<div class="article-inner">
<div class="article-main">
<header class="article-header">
<div class="main-title-bar">
<div class="main-title-dot"></div>
<h1 itemprop="name">
<a class="p-name article-title" href="/2025/05/01/%E8%87%AA%E5%AD%A6%E7%AC%AC%E4%BA%8C%E6%9C%88%E4%BB%BD%E6%80%BB%E7%BB%93/">自学第二月份总结</a>
</h1>
</div>
<div class='meta-info-bar'>
<div class="meta-info">
<time class="dt-published" datetime="2025-05-01T08:46:00.000Z" itemprop="datePublished">2025-05-01</time>
</div>
<div class="need-seperator meta-info">
<div class="meta-cate-flex">
Uncategorized
</div>
</div>
<div class="wordcount need-seperator meta-info">
708 words
</div>
</div>
</header>
<div class="e-content article-entry" itemprop="articleBody">
<div class="truncate-text">
自学第二月份总结 在学习Java后端开发的第二个月中,用10天的时间为Java语言基础收了个尾,结束了反射,多线程基础,IO流的学习
学习完成Java部分的内容后又花了5天的时间回顾了MySQL数据库基础,巩固了一些数据库使用上的细节(存储引擎,事务,隔离级别等)。2天的时间完成了Java8一些新特性的学习,理解了Lambda表达式的使用,Stream API的概念以及使用方式,Optional类的学习
之后又用了两天的时间完成JDBC的相关概念学习(SQL注入,连接池)学会了如何使用JDBC操作数据库,配置DBUtils,能够独立对于JDBC结合德鲁伊连接池,阿帕奇的Utils将SQL查询封装为Dao对象便于操作,用了两天的时间对于Redis有了一些初级的了解(数据结构,NoSQL,客户端),之后又花了一天半的时间完成了git版本控制工具的使用,能够结合远程代码托管平台(Github,Gitee),使用命令行或者IDEA集成开发环境,对于自己写的代码进行版本管理
最后的8天稍微有些懈怠,由于课程安排有些紧凑,实际上满打满算的学习只有大概5天左右,完成了JavaWe...
</div>
</div>
</div>
<a class="right-panel non-pic "
href="/2025/05/01/%E8%87%AA%E5%AD%A6%E7%AC%AC%E4%BA%8C%E6%9C%88%E4%BB%BD%E6%80%BB%E7%BB%93/"
>
<i class="fa-solid fa-angle-right non-pic"></i>
</a>
</div>
</article>
<article id="post-JavaWeb笔记(Tomcat,Maven,Docker)" class="h-entry article article-type-post" itemprop="blogPost" itemscope itemtype="https://schema.org/BlogPosting">
<div class="article-inner">
<div class="article-main">
<header class="article-header">
<div class="main-title-bar">
<div class="main-title-dot"></div>
<h1 itemprop="name">
<a class="p-name article-title" href="/2025/04/29/JavaWeb%E7%AC%94%E8%AE%B0%EF%BC%88Tomcat%EF%BC%8CMaven%EF%BC%8CDocker%EF%BC%89/">JavaWeb笔记(Tomcat,Maven,Docker)</a>
</h1>
</div>
<div class='meta-info-bar'>
<div class="meta-info">
<time class="dt-published" datetime="2025-04-29T07:00:00.000Z" itemprop="datePublished">2025-04-29</time>
</div>
<div class="need-seperator meta-info">
<div class="meta-cate-flex">
Uncategorized
</div>
</div>
<div class="wordcount need-seperator meta-info">
3.1k words
</div>
</div>
</header>
<div class="e-content article-entry" itemprop="articleBody">
<div class="truncate-text">
JavaWeb笔记TomcatJavaWeb:所用通过Java语言编写可以通过浏览器访问的程序的总称,基于请求和响应来开发的
Web资源:根据资源实现的技术和呈现的效果不同,分为静态资源和动态资源
静态资源:html,css,js,txt,mp4,jpg
动态资源:jsp页面,Servlet程序
常见的服务器:Tomcat,Jboss,GlassFish,Resin,WebLogic
安装启动版本对应
我使用的是tomcat9.0+Servlet4.0+JDK8
将Tomcat解压到你想要的路径下
在安装的bin目录下双击startup启动tomcat服务器,在浏览器中输入以下网址开启Tomcat服务页面
1http://localhost:8080
如果在启动的时候出现黑框立马闪退,有可能是没有设置系统变量
变量:JAVA_HOME 值:安装的JDK目录
关闭:双击shutdown.bat关闭
在config目录下有一个server.xml配置文件,在其中可以修改端口号8080,可以改为一个你想要用的其他端口号替换,再重启Tomcat服务器即可完成修改
部署Web第一...
</div>
</div>
</div>
<a class="right-panel non-pic "
href="/2025/04/29/JavaWeb%E7%AC%94%E8%AE%B0%EF%BC%88Tomcat%EF%BC%8CMaven%EF%BC%8CDocker%EF%BC%89/"
>
<i class="fa-solid fa-angle-right non-pic"></i>
</a>
</div>
</article>
<article id="post-JavaWeb笔记(jQuery,XML)" class="h-entry article article-type-post" itemprop="blogPost" itemscope itemtype="https://schema.org/BlogPosting">
<div class="article-inner">
<div class="article-main">
<header class="article-header">
<div class="main-title-bar">
<div class="main-title-dot"></div>
<h1 itemprop="name">
<a class="p-name article-title" href="/2025/04/27/JavaWeb%E7%AC%94%E8%AE%B0%EF%BC%88jQuery%EF%BC%8CXML%EF%BC%89/">JavaWeb笔记(jQuery,XML)</a>
</h1>
</div>
<div class='meta-info-bar'>
<div class="meta-info">
<time class="dt-published" datetime="2025-04-27T02:00:00.000Z" itemprop="datePublished">2025-04-27</time>
</div>
<div class="need-seperator meta-info">
<div class="meta-cate-flex">
Uncategorized
</div>
</div>
<div class="wordcount need-seperator meta-info">
20k words
</div>
</div>
</header>
<div class="e-content article-entry" itemprop="articleBody">
<div class="truncate-text">
JavaWeb笔记计划两天完成jQuery和XML部分的学习
jQuery定义:是JavaScript和Query查询的结合,是辅助JavaScript开发的js类库
核心思想:写的更少,做的更多,实现了很多浏览器的兼容问题
流行程度:流行程度高,约 75% 的网站 仍在使用 jQuery 进行 JavaScript 开发
优点:开源免费,语法便捷高效,简单易用(例如操作文档对象,选择DOM元素,制作动画效果,事件处理,使用Ajax等)
入门示例如下是一个没有注册onclick事件的按钮,要求实现点击按钮输出Hello
12345678910<!DOCTYPE html><!-- 约束声明 --><html lang="zh"><!--html表示html开始,lang=zh表示中文,分为head和body--><head><!--头部信息,一般包含title,css,js--> <meta charset="UTF-8"><!--字符集--&g...
</div>
</div>
</div>
<a class="right-panel non-pic "
href="/2025/04/27/JavaWeb%E7%AC%94%E8%AE%B0%EF%BC%88jQuery%EF%BC%8CXML%EF%BC%89/"
>
<i class="fa-solid fa-angle-right non-pic"></i>
</a>
</div>
</article>
<article id="post-JavaWeb笔记(JavaScript事件,DOM模型)" class="h-entry article article-type-post" itemprop="blogPost" itemscope itemtype="https://schema.org/BlogPosting">
<div class="article-inner">
<div class="article-main">
<header class="article-header">
<div class="main-title-bar">
<div class="main-title-dot"></div>
<h1 itemprop="name">
<a class="p-name article-title" href="/2025/04/26/JavaWeb%E7%AC%94%E8%AE%B0%EF%BC%88JavaScript%E4%BA%8B%E4%BB%B6%EF%BC%8CDOM%E6%A8%A1%E5%9E%8B%EF%BC%89/">JavaWeb笔记(JavaScript事件,DOM模型)</a>
</h1>
</div>
<div class='meta-info-bar'>
<div class="meta-info">
<time class="dt-published" datetime="2025-04-26T02:00:00.000Z" itemprop="datePublished">2025-04-26</time>
</div>
<div class="need-seperator meta-info">
<div class="meta-cate-flex">
Uncategorized
</div>
</div>
<div class="wordcount need-seperator meta-info">
9k words
</div>
</div>
</header>
<div class="e-content article-entry" itemprop="articleBody">
<div class="truncate-text">
JavaWeb笔记JavaScript事件事件定义事件是电脑输入设备与页面进行交互的响应,称之为事件,如点击滑动,长按等,一下是常用的事件
onload 加载完成事件(页面代码初始化)
onclick 点击事件(按钮点击响应操作)
onblur 失去焦点事件(用于输入框去焦点后验证输入内容是否合法)
onchange 内容发送改变事件(常用于下拉列表和输入框内容发送改变后)
onsubmit 表单提交事件(常用于表单提交后验证表单合法性)
事件注册定义:又称为绑定,告诉浏览器,事件响应后需要执行的操作代码,又分为静态注册和动态注册
静态注册:通过html标签的时间属性直接赋予事件响应后的代码
动态注册:先通过js代码得到dom对象,再通过dom对象.事件名称=function(){}这种形式赋予事件响应后的代码。其基本的步骤为 1.获取标签对象 2.标签对象.事件名称 = function() {}
常用事件onload表单初始化事件
静态注册示例
123456789101112131415<!DOCTYPE html><html lan...
</div>
</div>
</div>
<a class="right-panel non-pic "
href="/2025/04/26/JavaWeb%E7%AC%94%E8%AE%B0%EF%BC%88JavaScript%E4%BA%8B%E4%BB%B6%EF%BC%8CDOM%E6%A8%A1%E5%9E%8B%EF%BC%89/"
>
<i class="fa-solid fa-angle-right non-pic"></i>
</a>
</div>
</article>
<article id="post-JavaWeb笔记(HTML,CSS,JavaScript)" class="h-entry article article-type-post" itemprop="blogPost" itemscope itemtype="https://schema.org/BlogPosting">
<div class="article-inner">
<div class="article-main">
<header class="article-header">
<div class="main-title-bar">
<div class="main-title-dot"></div>
<h1 itemprop="name">
<a class="p-name article-title" href="/2025/04/25/JavaWeb%E7%AC%94%E8%AE%B0%EF%BC%88HTML%EF%BC%8CCSS%EF%BC%8CJavaScript%EF%BC%89/">JavaWeb笔记(HTML,CSS,JavaScript)</a>
</h1>
</div>
<div class='meta-info-bar'>
<div class="meta-info">
<time class="dt-published" datetime="2025-04-25T01:15:00.000Z" itemprop="datePublished">2025-04-25</time>
</div>
<div class="need-seperator meta-info">
<div class="meta-cate-flex">
Uncategorized
</div>
</div>
<div class="wordcount need-seperator meta-info">
13k words
</div>
</div>
</header>
<div class="e-content article-entry" itemprop="articleBody">
<div class="truncate-text">
JavaWeb笔记学习Redis到了Spring集成Jedis客户端那里的时候碰壁了,学习效率奇低,复盘了一下,发现是Maven和SpringBoot没有学习导致了环境上的问题,所以更改一下学习策略,先进行Java各大框架的学习,再使用Redis进行改进,这样也符合正常的学习规律
首先是JavaWeb的学习,打算分出12天完成
Java开发流程
页面有三个部分内容组成:内容(html),表现(CSS),行为(JavaScript)
内容是在页面上可以看到的数据,表现是这些内容在页面上的展示形式(布局颜色大小等),行为是指页面中元素与输入设备交互的响应
HTLMHyper Text Markup Language
简介
HTML通过标签来标记显示网页中的各个部分,网页文件本身就是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器中如何显示其中的内容
创建HTML文件1.创建一个Web工程
2.在工程下创建html文件
1234567891011<!DOCTYPE html><!-- 约束声明 --><html lang="zh&quo...
</div>
</div>
</div>
<a class="right-panel non-pic "
href="/2025/04/25/JavaWeb%E7%AC%94%E8%AE%B0%EF%BC%88HTML%EF%BC%8CCSS%EF%BC%8CJavaScript%EF%BC%89/"
>
<i class="fa-solid fa-angle-right non-pic"></i>
</a>
</div>
</article>
<article id="post-Redis笔记(Java客户端)" class="h-entry article article-type-post" itemprop="blogPost" itemscope itemtype="https://schema.org/BlogPosting">
<div class="article-inner">
<div class="article-main">
<header class="article-header">
<div class="main-title-bar">
<div class="main-title-dot"></div>
<h1 itemprop="name">
<a class="p-name article-title" href="/2025/04/24/Redis%E7%AC%94%E8%AE%B0%EF%BC%88Java%E5%AE%A2%E6%88%B7%E7%AB%AF%EF%BC%89/">Redis笔记(Java客户端)</a>
</h1>
</div>
<div class='meta-info-bar'>
<div class="meta-info">
<time class="dt-published" datetime="2025-04-24T06:00:00.000Z" itemprop="datePublished">2025-04-24</time>
</div>
<div class="need-seperator meta-info">
<div class="meta-cate-flex">
Uncategorized
</div>
</div>
<div class="wordcount need-seperator meta-info">
5.2k words
</div>
</div>
</header>
<div class="e-content article-entry" itemprop="articleBody">
<div class="truncate-text">
Redis笔记Jedis我们学Redis最终还是要回到编码上,我们需要使用到Redis提供的客户端,推荐的有Jedis、lettuce、Redisson
Jedis,以Redis命令作为方法名称,学习成本较低,简单实用,但是Jedis实例线程不安全,多线程环境下需要基于连接池来使用
Lettuce,是基于Netty实现的,支持同步,异步,响应式编程方式,线程安全,支持Redis的哨兵模式,集群模式,管道模式
Redisson,是基于Redis实现的分布式,可伸缩的Java数据结构集合,包含了Map、Queue、Lock、Semaphore、AtomicLong等强大功能
而其中Spring Data Redis支持jedis和lettuce
Jedis使用用Maven添加如下的依赖
1234567891011121314151617181920<dependencies> <dependency> <groupId>redis.clients</groupId> <artifactId>...
</div>
</div>
</div>
<a class="right-panel non-pic "
href="/2025/04/24/Redis%E7%AC%94%E8%AE%B0%EF%BC%88Java%E5%AE%A2%E6%88%B7%E7%AB%AF%EF%BC%89/"
>
<i class="fa-solid fa-angle-right non-pic"></i>
</a>
</div>
</article>
<nav id="page-nav">
<!-- 在第二页时 page.prev_link 不知为何无法返回正确的链接 -->
<a id="prev-btn" class="page-nav-btn disabled" href=" / ">
<i class="fa-solid fa-angle-left"></i>
</a>
<div id="num-bar">
<span class="page-number current">1</span><a class="page-number" href="/page/2/">2</a><a class="page-number" href="/page/3/">3</a><span class="space">…</span><a class="page-number" href="/page/6/">6</a>
</div>
<a id="next-btn" class="page-nav-btn " href="/page/2/">
<i class="fa-solid fa-angle-right"></i>
</a>
</nav>
</div>
<div id="footer-wrapper">
<footer id="footer">
<div id="footer-info" class="inner">
© 2025 Thrinisty<br>
Powered by <a href="https://hexo.io/" target="_blank">Hexo</a> & Theme <a target="_blank" rel="noopener" href="https://github.com/saicaca/hexo-theme-vivia">Vivia</a>
</div>
</footer>
</div>
<div class="back-to-top-wrapper">
<button id="back-to-top-btn" class="back-to-top-btn hide" onclick="topFunction()">
<i class="fa-solid fa-angle-up"></i>
</button>
</div>
<script>
function topFunction() {
window.scroll({ top: 0, behavior: 'smooth' });
}
let btn = document.getElementById('back-to-top-btn');
function scrollFunction() {
if (document.body.scrollTop > 600 || document.documentElement.scrollTop > 600) {
btn.classList.remove('hide')
} else {
btn.classList.add('hide')
}
}
window.onscroll = function() {
scrollFunction();
}
</script>
</div>
<script src="/js/light-dark-switch.js"></script>
</body>
</html>