3.1 创建第一个Servlet


一,继承于HttpServlet


二,创建Servlet

        

package com.example.web;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.example.model.*;


public class BeerSelect extends HttpServlet{
	/**
	 * 
	 */
	private static final long serialVersionUID = -5943915917892367989L;

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		resp.setContentType("text/html");
		PrintWriter out = resp.getWriter();
		out.println("Beer Selection Advice<br>");
		
		String c = req.getParameter("color");
		BeerExpert model = new BeerExpert();
		
		out.println("<br>Got beer color " + model.getBrands(c));
		
	}

}

三,创建model

       

package com.example.model;

import java.util.ArrayList;
import java.util.List;

public class BeerExpert {
	
	public List getBrands(String color) {
		List brands = new ArrayList();
		if(color.equalsIgnoreCase("light")) {
			brands.add("Jack Amber");
			brands.add("Red Moose");
		} else {
			brands.add("Jail Pale");
			brands.add("Gout Stout");
		}
	
		return brands;
	}
}

    

四,创建配置文件

<?xml version="1.0" encoding="UTF-8"?>  
<web-app version="2.4"   
    xmlns="http://java.sun.com/xml/ns/j2ee"   
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
  <servlet>  
    <servlet-name>Ch3 Beer</servlet-name>  
    <servlet-class>com.example.web.BeerSelect</servlet-class>  
  </servlet>  
  
  <servlet-mapping>  
    <servlet-name>Ch3 Beer</servlet-name>  
    <url-pattern>/SelectBeer.do</url-pattern>  
  </servlet-mapping>  
  
</web-app>  

 

五,手动编译

     在eclipse中直接配置

     javac    -classpath  apache-tomcat-6.0.41\lib\servlet-api.jar;classes;.  -d  classes/  src/com/example/web/BeerSelect.java

<span style="font-family: Arial, Helvetica, sans-serif;">     其中-classpath指定依赖库,-d指定生成的class文件存放路径</span>
 
 

六,运行

        将classes目录移动到tomcat的WEB-INF中,将配置文件也移动到这个目录;


五,问题

        1,无法找到servlet绝对路径

              在Servlet文件中必须指定package

        2,配置文件中的servlet-mapping中的url-pattern,servlet名字前要加/,相对于请求的路径



你可能感兴趣的:(3.1 创建第一个Servlet)