今天是佟刚老师给我们讲课的第二天!今天讲的内容不是很难,但在技术细节上,是很值得我们去细细体会,慢慢品味的!
Tomcat,估计只要稍微对Java WEB 有所了解的,都知道这个是干什么用的!对,是一个Servlet和JSP容器容器。虽然我以前看过、用过它,可是我对它的真正涵义确显得很是外行!不过经佟老师在课上讲的,此时的我才知道它的真正原理。
先说说它的启动配置吧!一般的我们在cmd中,要先找到它的目录,然后在startup.bat启动,其实这样的方法费时还易出错,现在我知道了,一个catalina.bat文件,这个文件是干嘛用的呢,嘿嘿,先通过jdk,path,catalna_home的配置,方可方便使用,现在说下如何设置的。jdk:这个只要杂JAVA_HOME中配置即可,最重要的是path,catalna_home设置,在path里添加这样的句子:D:\tomcat6.0\bin;(前提解压在D盘),在catalna_home中加入D:\tomcat6.0。这样就完全OK!打开cmd输入 catalina run 可直接运行Tomcat.
当然Tomcat启动,肯定是要运行WEB页面的了,第二步,增加设置虚拟目录,/tomcat/conf/catalina/localhost/setver.xml,在setver.xml里要假如这样的格式语句<Context docBase="" reloadable="true" /> 。docBase里面设置的是真实开发目录即可!之后运行Tomcat,在IE中输入需要浏览页面地址即可完成!
此外下午的时候还讲了如何编写Servlet.下面就直接给出例子与操作的关键步骤:定义一个类继承接口,代码如下:package cn.itcast.servlet;
import java.io.IOException;
import java.util.Enumeration;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class MyFirstServlet implements Servlet {
@Override
public void destroy() {
// TODO Auto-generated method stub
System.out.println("destroy...");
}
@Override
public ServletConfig getServletConfig() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getServletInfo() {
// TODO Auto-generated method stub
return null;
}
@Override
public void init(ServletConfig servletConfig) throws ServletException {
// TODO Auto-generated method stub
System.out.println("init...");
String servletName = servletConfig.getServletName();
//获取当前 Servlet 的配置名称
System.out.println("servletName: " + servletName);
//获取当前 Servlet 的配置的初始化参数
String initName = servletConfig.getInitParameter("name");
System.out.println("initName: " + initName);
String initPassword = servletConfig.getInitParameter("password");
System.out.println("initPassword: " + initPassword);
//获取当前 Servlet 初始化参数名字组成的 Enumeration 对象
Enumeration<String> nameEnums = servletConfig.getInitParameterNames();
while(nameEnums.hasMoreElements()){
String name_ = nameEnums.nextElement();
String value_ = servletConfig.getInitParameter(name_);
System.out.println("^^name_: " + name_ + ", value_: " + value_);
}
}
@Override
public void service(ServletRequest arg0, ServletResponse arg1)
throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("service...");
System.out.println(arg0);
System.out.println(arg1);
//获取客户端的请求参数
String name = arg0.getParameter("name");
String password = arg0.getParameter("password");
System.out.println("name: " + name + ", password: " + password);
}
}
下面要写个web.xml程序:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee "
version="2.5">
<!-- Servlet 的注册 -->
<servlet>
<servlet-name>firstServlet123</servlet-name>
<servlet-class>cn.itcast.servlet.MyFirstServlet</servlet-class>
<!-- 为当前 Servlet 配置初始化参数 -->
<init-param>
<param-name>name</param-name>
<param-value>Tom</param-value>
</init-param>
<init-param>
<param-name>password</param-name>
<param-value>123456</param-value>
</init-param>
</servlet>
<!-- Servlet 的映射 -->
<servlet-mapping>