1. 了解web.xml中<context-param>的使用,参见:
<context-param> <param-name>test_context_param</param-name> <param-value>Hello ContextParam</param-value> </context-param> |
<context-param>是全局的,在jsp、servlet、filter中都可以得到该标签的值
2. 了解Listener机制,主要采用回调机制实现,继承自HttpSessionListener,listener的配置如下:
<listener>
<listener-class>
com.bjsxt.drp.util.listener.TestHttpSessionListener
</listener-class>
</listener>
默认情况下,只有动态页面才能创建session,静态页面不行
3. 了解taglib的部署和使用
l 标签的部署
i. 将涉及到的jar或class文件拷贝到web项目中
ii. 将tld文件拷贝到web-inf下或web-inf下的任意子目录中
l 标签的使用
i. 首先采用taglib指令引入
ii. 通过前缀访问taglib中相应的属性
4. tomcat管理界面的配置
l 将apache-tomcat-5.5.27-admin.zip解压,将解压后的目录拷贝到tomcat相应的目录下
l 配置用户,编辑TOMCAT-HOME/conf/tomcat-users.xml文件,加入如下配置:
<user username="admin" password="admin" roles="admin,manager"/>
5. Tomcat连接池的配置
a) 将mysql的jdbc驱动程序拷贝到TOMCAT-HOME/common/lib下
b) 访问http://localhost:8080/admin登录到管理界面
c) 选择Resources----》datasource—》create new Datasouce
d) 具体的参数说明
i. JNDI Name:注册到JNDI树上的名称
ii. Data Source URL:连接数据库的URL
iii. JDBC Driver Class:jdbc数据库驱动的名称
iv. User Name:访问数据库的用户名称
v. Password: 访问数据库的用户密码
vi. Max. Active Connections:最大活跃连接数,指同时可以有多少个连接,设置0,没有限制
vii. Max. Idle Connections:最大空闲连接数,表示没有数据库连接时,连接池也必须保持最大空闲连接数,设置为0没有限制
viii. Max. Wait for Connection:建立连接等待时间,单位:毫秒,设置为-1无限制
ix. Validation Query:此参数是用来查询池中的空闲连接(可以不用配置)
e) 点击保存,再点击提交
f) 找到TOMCAT-HOME/conf/server.xml文件,将生成的连接池部分的xml剪切到TOMCAT-HOME/conf/context.xml文件中。
g) 将TOMCAT-HOME/conf/context.xml文件剪切到drp的webroot/META-INF下
h) 采用JNDI访问连接池
DataSource ds = null;
Connection conn = null;
try {
Context ctx = new InitialContext();
//采用jndi查找连接池
ds = (DataSource)ctx.lookup("java:comp/env/jdbc/drp");
//取得connection
conn = ds.getConnection();
String sql = "select * from t_user";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
out.println(rs.getString(1));
}
rs.close();
stmt.close();
conn.close();
}catch(Exception e) {
e.printStackTrace();
}
6. Tomcat Server处理一个http请求的过程,假设来自客户的请求为:http://localhost:8080/drp/user_maint.jsp
a) 请求被发送到本机端口8080,被在那里侦听的Coyote HTTP/1.1 Connector获得
b) Connector把该请求交给它所在的Service的Engine来处理,并等待来自Engine的回应
c) Engine获得请求localhost:8080/drp/user_maint.jsp,匹配它所拥有的所有虚拟主机Host
d) Engine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机)
e) localhost Host获得请求/drp/user_maint.jsp,匹配它所拥有的所有Context
f) Host匹配到路径为/drp的Context(如果匹配不到就把该请求交给路径名为""的Context去处理)
g) path="/drp"的Context获得请求/user_maint.jsp,在它的mapping table中寻找对应的servlet
h) Context匹配到URL PATTERN为*.jsp的servlet,对应于JspServlet类
i) 构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet或doPost方法
j) Context把执行完了之后的HttpServletResponse对象返回给Host
k) Host把HttpServletResponse对象返回给Engine
l) Engine把HttpServletResponse对象返回给Connector
m) Connector把HttpServletResponse对象返回给客户browser
7. Web services(axis是webservice的一个引擎,传输协议soap)
a) 通过标准的soap通信,一般走http协议
b) 能跨平台调用
c) 通信格式是xml(文本),而不是二进制(EJB,CORBA)
SOAP(简单对象访问协议http+xml)
UDDI(发现和整合,就是一个电话簿 类似JNDI)
WSDL(web services描述语言)
目前主流的分布式技术
l CORBA、EJB、COM、Web Services
l Rest
8. J2se中涉及包的种类
l jar(普通java类)
l war(web项目)
l ear(EJB项目)
打包方式:
l 采用IDE向导(Eclipse)
l WinZip、jar命令
9. CVS(Concurrent Version System)
SVN ,所有CVS的修订版本
Bugzilla,属于变更管理工具(缺陷管理工具)
CMM(软件能力成熟度模型)
WML(无线标记语言)