Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 313|回复: 0

Java:初学 Java,遇到的问题及解决方案小结。

[复制链接]
  • TA的每日心情
    奋斗
    2024-11-24 15:47
  • 签到天数: 804 天

    [LV.10]以坛为家III

    2053

    主题

    2111

    帖子

    72万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    726782
    发表于 2021-6-20 15:24:24 | 显示全部楼层 |阅读模式

    背景

    失败是成功之母,前提是没有被遗忘的失败,本文记录这几天学习 Java,自己遇到的几个问题和解决方案,希望能达到强化记忆的作用。

    开发环境是:Eclipse + Tomcat7.0。

    第一个:依赖的第三方 jar 必须拷贝到 WEB-INF\lib 或 Tomcat 的 lib 目录

    如果只是将第三方 jar 包添加到 build path 中只能保证编译通过,不能保证运行成功,关于如何配置运行期间类型的加载路径,我还没有查资料。

    第二个:使用了 == 号

    java 中不能重写运算符,对于 Class 和 Interface 来说,equals 的语义是值比较,== 的语义是引用比较。

    第三个:在 Tomcat7.0 中使用了默认包

    默认包中的类型在 JSP 中使用的时候,编译时没有问题,运行时就出错了。

    第四个:在一个会话里测试 Page 指令的 isThreadSafe 配置

    isThreadSafe 为 false 会导致所有请求串行化,为 true 会导致会话内的请求串行化。

    如果你用同一个会话测试的话,true 和 false 的效果是一样的,使用两个浏览器可以到达期望的效果。

     1 <%@ page language="java" session="false" isThreadSafe="false"
     2     contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     4 <html>
     5 <head>
     6 <meta http-equiv="Content-Type" content="text/html; utf-8">
     7 <title>page 指令学习</title>
     8 </head>
     9 <body>
    10     <p>isThreadSafe为false会导致所有请求串行化,为true会导致会话内的请求串行化。</p>
    11     开始时间是:
    12     <%
    13         out.println(new java.util.Date());
    14     %>
    15     <br />
    16     <%
    17         Thread.sleep(5000);
    18     %>
    19     结束时间是:
    20     <%
    21         out.println(new java.util.Date());
    22     %>
    23     <br />
    24     <%=Thread.currentThread().getId()%>
    25 </body>
    26 </html>

    第五个:获取请求参数还要手工解码

    不明白 Java 为啥不自动解码,是不是有地方可以配置?有知道的兄弟告诉我一下。

     1 <%@page import="java.net.URLDecoder"%>
     2 <%@ page language="java" contentType="text/html; charset=utf-8"
     3     pageEncoding="utf-8"%>
     4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     5 <html>
     6 <head>
     7 <meta http-equiv="Content-Type" content="text/html; utf-8">
     8 <title>request study</title>
     9 </head>
    10 <body>
    11     <p>to get the parameter,you must set the character encoding first.</p>
    12     <%
    13         request.setCharacterEncoding("utf-8");
    14     %>
    15     <p>
    16         get love:
    17         <%
    18         if (request.getParameter("love") != null) {
    19     %>
    20         <%=new String(request.getParameter("love").getBytes(
    21                         "iso-8859-1"), "utf-8")%>
    22         <%
    23             }
    24         %>
    25     </p>
    26     <p>
    27         post name:<%=request.getParameter("name")%></p>
    28     <form method="get">
    29         get form<input type="text" name="love" value="段光伟" /> <input
    30             type="submit" />
    31     </form>
    32     <form method="post">
    33         post form<input type="text" name="name" value="段光伟" /> <input
    34             type="submit" />
    35     </form>
    36 </body>
    37 </html>

    备注

    将自己的遇到的问题记录下来,即使是“白痴”级别的问题。

     

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2025-2-1 23:53 , Processed in 0.056473 second(s), 28 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表