Java:初学 Java,遇到的问题及解决方案小结。
背景
失败是成功之母,前提是没有被遗忘的失败,本文记录这几天学习 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 的效果是一样的,使用两个浏览器可以到达期望的效果。
<%@ page language="java" session="false" isThreadSafe="false"
contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; utf-8">
<title>page 指令学习</title>
</head>
<body>
<p>isThreadSafe为false会导致所有请求串行化,为true会导致会话内的请求串行化。</p>
开始时间是:
<%
out.println(new java.util.Date());
%>
<br />
<%
Thread.sleep(5000);
%>
结束时间是:
<%
out.println(new java.util.Date());
%>
<br />
<%=Thread.currentThread().getId()%>
</body>
</html>
第五个:获取请求参数还要手工解码
不明白 Java 为啥不自动解码,是不是有地方可以配置?有知道的兄弟告诉我一下。
<%@page import="java.net.URLDecoder"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; utf-8">
<title>request study</title>
</head>
<body>
<p>to get the parameter,you must set the character encoding first.</p>
<%
request.setCharacterEncoding("utf-8");
%>
<p>
get love:
<%
if (request.getParameter("love") != null) {
%>
<%=new String(request.getParameter("love").getBytes(
"iso-8859-1"), "utf-8")%>
<%
}
%>
</p>
<p>
post name:<%=request.getParameter("name")%></p>
<form method="get">
get form<input type="text" name="love" value="段光伟" /> <input
type="submit" />
</form>
<form method="post">
post form<input type="text" name="name" value="段光伟" /> <input
type="submit" />
</form>
</body>
</html>
备注
将自己的遇到的问题记录下来,即使是“白痴”级别的问题。
Java:初学 Java,遇到的问题及解决方案小结。的更多相关文章
- Ant学习-002-ant 执行 TestNG 测试用例时 [testng] java.lang.NoClassDefFoundError: com/beust/jcommander/ParameterException 解决方案
上篇文章中概述了 Ant windows 环境的基本配置,此文讲述在初次使用的过程中遇到的问题. 今天通过 ant 执行 TestNG 测试用例时,执行报错,相应的错误信息如下所示: Buildfil ...
- 初学 Java Web 开发,请远离各种框架,从 Servlet 开发
Web框架是开发者在使用某种语言编写Web应用服务端时关于架构的最佳实践.很多Web框架是从实际的Web项目抽取出来的,仅和Web的请求和响应处 理有关,形成一个基础,在开发别的应用项目的时候则可以从 ...
- java初学的分析
java初学的分析第一阶段:入门阶段学习目标:简单项目开发学习内容:1.Java入门书籍,Java基础知识.关于Java入门级的书,给大家推荐过<Java编程思想>.<Java核心技 ...
- encodeURIComponent编码后java后台的解码 (AJAX中文解决方案)
encodeURIComponent编码后java后台的解码 (AJAX中文解决方案) 同学的毕业设计出现JavaScript用encodeURIComponentt编码后无法再后台解码的问题. 原来 ...
- 初学Java的那段日子
最近因为一个朋友想要学习Java,在帮助他找教程的过程中回想到了我自己当年学习Java的那段岁月,故写了此篇文章总结了一下初学Java所必须要掌握的知识点,然后把一部分常见的面试题罗列出来.给予刚刚开 ...
- 初学Java web(转)
转自 http://www.oschina.net/question/12_52027 OSCHINA 软件库有一个分类——Web框架,该分类中包含多种编程语言的将近500个项目. Web框架是开发者 ...
- Can't accept UDP connections java.net.BindException: Address already in use_解决方案
一.问题描述 在Linux服务器(CentOS7系统)中配置并启动JMeter远程监控服务器资源所需的ServerAgent目录下的 startAgent.sh 文件时,系统出现异常提示,如下: [r ...
- 【全网最优方法】JAVA初学:错误: 找不到或无法加载主类HelloWorld
JAVA初学:错误: 找不到或无法加载主类 HelloWorld 我这是看的黑马2019网课(B站)出现的问题. 放一下别人的图,我也是大概的问题:就是javac没问题,java却无论怎么弄都报错. ...
- java初学复习
作为学Java的小白,忽然想看一看自己学了些什么东西,话不多说,(这都是新手弄的总结)让我们看一看: 1.我们要先了解Java技术 Java SE:标准版java技术的基础和核心 Java EE:企业 ...
- (Java初学篇)IDEA项目新建流程和软件配置优化以及怎么彻底删除项目
相信很多小伙伴们在初学 Java 时都会出现这样的情况,就是在网上一顿搜索加捣鼓终于把 JDK 和IDEA 这两款软件安装配置好,但是发现面对这个陌生的软件此时却无从下手,那么接下来我就给大家简单地介 ...
随机推荐
- HDU 4725 The Shortest Path in Nya Graph(spfa+虚拟点建图)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4725 题目大意:有n层,n个点分布在这些层上,相邻层的点是可以联通的且距离为c,还有额外给出了m个条边 ...
- xpath简单应用
相对路径与绝对路径: 如果"/"处在XPath表达式开头则表示文档根元素,(表达式中间作为分隔符用以分割每一个步进表达式)如:/messages/message/subject是一 ...
- s3cmd : Add a config parameter to enable path-style bucket access 当ceph rgw使用域名时,需要支持 path-style bucket特性
s3cmd 要是1.6.1 之后的版本 增加配置项: vi .s3cfg use_path_mode = True 源码参考: cat /usr/local/lib/python2.7/dist- ...
- PHP–图像XX因其本身有错无法显示
1.你输出的图像格式 PHP不支持,检查GD库有没有开启 对应的图像格式是不是支持2.文件里面的格式是否一致 如果是UTF-8的检查文件格式是不是UTF-8 [UTF-8+BOM很多IDE默认是这个格 ...
- 【hdoj_1865】1sting(递推+大数)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1865 本题的关键是找递推关系式,由题目,可知前几个序列的结果,序列长度为n=1,2,3,4,5的结果分别是 ...
- CentOS7.6安装AMD显卡驱动
1.检查自己的显卡类型[root@localhost amdgpu-pro-18.50-708488-rhel-7.6]# lspci | grep -i vga03:00.0 VGA compati ...
- loadrunner中大小写字符转换函数封装:
//封装ConvertToXXX函数: int ConvertToUpper(char * sInput, char * sNew) { sInput = (char *)strupr(sInput) ...
- Python并发编程-一个简单的爬虫
一个简单的爬虫 #网页状态码 #200 正常 #404 网页找不到 #502 504 import requests from multiprocessing import Pool def get( ...
- 图形管线之旅 Part2
原文:<A trip through the Graphics Pipeline 2011> 翻译:往昔之剑 转载请注明出处 还没那么快 在上一篇,讲述了渲染命令在被GPU处理 ...
- 【搜索】还是N皇后
先看题才是最重要的: 这道题有点难理解,毕竟Code speaks louder than words,所以先亮代码后说话: #include<iostream> using namesp ...