Tomcat6.0 与Servlet运用的心得体会

今天是佟刚老师给我们讲课的第二天!今天讲的内容不是很难,但在技术细节上,是很值得我们去细细体会,慢慢品味的!

    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 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
   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>

    <servlet-name>firstServlet123</servlet-name>
    <url-pattern>/firstServlet</url-pattern>
   </servlet-mapping>
  
</web-app>

    还有其它的细节设置:虚拟目录的创建tomcat/conf/catalina/localhost/setver.xml,在setver.xml里要加入这样的格式语句<Context docBase="" reloadable="true" /> 。docBase里面设置的是真实开发目录即可!

    怎么说呢,以上的一些例子是为以后用的三大框架打下坚实的基础,我们在用框架前,必须要先知道基础原理的运用,我曾以前调过了这些步骤直接去看参考书用三大框架,最后到头来,一切白搭!现在才真正知道其中的原理!不过现在知道不迟!

我要再为自己打气,我在传智播客学习一定会成功的!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值