好久没有写博客了。在实际工作中,发现自己的技术基础真的很差,很多名词概念不知道是什么意思。所以最近下决心恶补一下。这个算是基本篇,以自问自答的形式来解决自己心中的疑惑,如果对另外的人也有帮助,那就是再好不过了。
准备篇
什么是J2EE
全称是Java2 Enterprise Edition。
“J2EE平台本质上是一个分布式的服务器应用程序设计环境——一个Java环境,它提供了:
1. 宿主应用的一个运行基础框架环境。
2. 一套用来创建应用的Java扩展API。”
(引自《J2EE服务器端高级编程》)
J2EE有什么用
J2EE用来建设大型的分布式企业级应用程序。或者用更时髦的名词说就是“电子商务”应用程序。
这些企业可能大到拥有中心数据库服务器,Web服务器集群和遍布全国的办公终端,也可能小到只不过想做一个网站。
J2EE的服务器有哪些
weblogic:性能最好,但是太大,且只能用盗版
jboss:免费,但是文档很少。当然我们这边都是用的jboss
Jrun:开发版免费
tomcat是什么
tomcat不是J2EE的服务器,它是一个web服务器,或者说是web container。如果想学习EJB(enterprise java bean),tomcat是无法满足你的需求
servlet/JSP篇
什么是servlet
一个servlet是java的一个类。它处理http请求并作出响应,包括返回一个html的页面或转交给其他URL处理。
1. servlet必须运行在一个web container中(如tomcat)。
2. servlet必须是javax.servlet.http.HttpServlet的子类。你可以继承doGet()或者doPost()方法,两者分别对应于Http中的get和post请求。
get和post请求的区别
get请求是将参数放在URI里面,且有长度限制(整个url的长度不能超过1024)。而post请求是将请求数据放在http请求之中,要查看需要使用抓包工具(如wireshark)
怎么获得http请求里面的参数
通过httpRequest的getParameter()方法。如:
String paramValue = request.getParameter("paramName");
如何返回结果
可以利用相关的API打开一个输出流,并且向输出流中写入一个html页面。但是这并不是一个好方法。一方面这样太麻烦,另一方面从MVC的角度(J2EE中的Front Controller模式)的观点来看,应当提供一些html或者jsp作为视图(view),而servlet根据请求的参数决定跳转到哪个视图。可以利用response.sendRedirect(…)或request.getDispatcher(…).forward()方法来实现。