在公司,按照电子书《JSP&Servlet学习笔记(第2版)》上的例子写了一个Demo,运行良好,可带回家,在自己电脑上运行,老提示下面这行有错:
import javax.servlet.annotation.WebServlet;
在公司,按照电子书《JSP&Servlet学习笔记(第2版)》上的例子写了一个Demo,运行良好,可带回家,在自己电脑上运行,老提示下面这行有错:
import javax.servlet.annotation.WebServlet;
请教一下,getServletContext和getServletConfig都有getInitParameter的方法,
但是他们有什么不同呢?
我在web.xml中web-app根下定义了一个参数P1,
然后在web.xml中的HelloServlet段中也定义了一个参数P1,
在HelloServlet分别作如下输出
String s1 = getServletConfig().getInitParameter("P1");
String s2 = getServletContext().getInitParameter("P1");
String s3 = getServletConfig().getServletContext().getInitParameter("P1");
String s4 = getInitParameter("P1");
HttpServletRequest类既有getAttribute()方法,也有getParameter()方法,这两个方法有以下区别:
1、HttpServletRequest类有setAttribute()方法,而没有setParameter()方法;
2、当两个Web组件之间为链接关系时,被链接的组件通过getParameter()方法来获得请求参数;
Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程。从而达到网络传输、本地存储的效果。
本文主要要看看JDK中使用Serializable和Externalizable接口来完成Java对象序列化,并给出部分属性序列化的几种方式,最终做出Serializable和Externalizable接口的几个方面的对比。
注:本文不讨论为什么不用第三方工具包完成序列化等~
以最终客户的角度来看,JAR文件就是一种封装,他们不需要知道jar文件中有多少个.class文件,每个文件中的功能与作用,同样可以得到他们希望的结果。除jar以外对于J2EE来说还有war和ear。区别见下表:
| JAR | WAR | EAR | |
| 英文 | Java Archive file | Web Archive file | Enterprise Archive file |
| 包含内容 | class、properties文件,是文件封装的最小单元;包含Java类的普通库、资源(resources)、辅助文件(auxiliary files)等 | Servlet、JSP页面、JSP标记库、JAR库文件、HTML/XML文档和其他公用资源文件,如图片、音频文件等 | 除了包含JAR、WAR以外,还包括EJB组件 |
| 部署文件 | application-client.xml | web.xml | application.xml |
| 容器 | 应用服务器(application servers) | 小型服务程序容器(servlet containers) | EJB容器(EJB containers) |
| 级别 | 小 | 中 | 大 |
1、启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<context-param>和<listener>两个节点。
2、紧急着,容创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文。
3、容器将<context-param>转换为键值对,并交给servletContext。
4、容器创建<listener>中的类实例,创建监听器。
今天在编写Java程序的时候,发现这个警告提示,于是google了一下。得到答案如下:
If a serializable class does not explicitly declare a serialVersionUID, then the serialization runtime will calculate a default serialVersionUID value for that class based on various aspects of the class, as described in the Java(TM) Object Serialization Specification.
public static void main(String[] args) {
String keyWord = "chrome.exe";
Runtime runtime = Runtime.getRuntime();
try {
Process process = runtime.exec("cmd /c Tasklist");
BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
String s;
while ((s = in.readLine()) != null) {
s = s.toLowerCase();
if (s.startsWith(keyWord)) {
System.out.println("==========>" + keyWord);
break;
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
maven优势:
