Tomcat 6.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 "
   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>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wywjdg.html