Top

JAVA SERVLETJSP DAY02

  1. Servlet获取请求参数值
  2. 请求方式GET和POST的区别
  3. 处理POST请求中的中文参数值
  4. 处理GET请求中的中文参数值
  5. 员工管理——添加员工信息
  6. 员工管理——使用JDBC添加员工信息
  7. 员工管理——使用JDBC查询所有员工信息

1 Servlet获取请求参数值

1.1 问题

在Servlet中获取客户端通过表单等形式提交的请求参数值,并输出显示。

1.2 方案

使用request对象的getParameter()方法获取请求中的name-value,使用request对象的getParameterValues()方法获取请求中的name-values。

1.3 步骤

步骤一:新建hello1.html页面

新建hello1.html页面,内容如图-1所示:

图– 1

该页面表单内容如图-2所示:

图 - 2

步骤二:新建Hello1Servlet类

新建Hello1Servlet.java文件,用于获取参数值及输出。

图 - 3

步骤三:修改web.xml文件

在web.xml文件中添加Hello1Servlet的映射

图 - 4

步骤四:部署并访问工程

部署工程后启动Tomcat,在浏览器中输入地址访问hello1.html页面,注意,本案例暂时只输入英文,查看服务器端获取参数值的输出结果。

1.4 完整代码

helo1.html文件的代码如下:

<html>
<head>
</head>
<body style="font-size:24px">
<form action="hello1" method="get">
	Name:<input name="name"><br>
	Contact Me:<Br>
	QQ<input type="checkbox" name="contact"
	   value="qq"/>
	Tel<input type="checkbox" name="contact" 
	   value="tel"/>
	WeChat<input type="checkbox" name="contact" 
	   value="wechat"/>
	<br>
	<input type="submit" value="OK">
</form>
</body>
</html>

Hello1Servlet.java文件的代码如下:

package 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;

public class Hello1Servlet extends HttpServlet {
	/**
	 * 获取请求中的name、contact两组参数值
	 * 分别使用getParameter和getParameterValues方法获取
	 */
	protected void service(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {		
		PrintWriter out = resp.getWriter();
		//获取提交的name的值
		String name = req.getParameter("name");
		out.println("<h1>Hello," + name + "</h1>");
		//获取提交的contact的值
		String[] contacts = req.getParameterValues("contact");
		if(contacts!=null){
			out.print("<h1>Contact Information:</h1>");
			for(String info :contacts){
				out.print("<h1>"+info+"</h1>");
			}
		}
		out.close();
	}
}

web.xml文件的代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	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">
<servlet>
	<servlet-name>hello1Servlet</servlet-name>
	<servlet-class>web.Hello1Servlet</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>hello1Servlet</servlet-name>
	<url-pattern>/hello1</url-pattern>
</servlet-mapping>
</web-app>

2 请求方式GET和POST的区别

2.1 问题

查看客户端在提交请求参数值时,GET请求方式和POST请求方式的根本区别,即参数值的传递方式的区别。

2.2 方案

使用MyEclipse自带的TCP/IP Monitor,以代理服务器的方式解析不同请求数据包中的请求行、消息头、主体的内容。

图 - 5

2.3 步骤

步骤一:新建代理服务器并启动TCP/IP Monitor

在MyEclipse中,按照如下步骤打开TCP/IP Monitor视图。

菜单“Windows”(“Show View”(“Other…”在搜索框中输入“TCP”就可看到该视图,选中后点击“OK”即可打开。如图-6:

图– 6

在该视图的空白处右键,点击“Properties”如图-7:

图– 7

在弹出的窗口中,按照如下图-8至图-10所示的顺序依次操作,完成Monitor的创建及启动。

图-8

图-9

图-10

步骤二:访问代理服务器,以GET方式提交表单数据

使用上一个案例中的表单来模拟提交数据即可。本次注意表单的method值为get。

<form action=“hello1” method=“get“>

启动Tomcat后,输入如下地址http://localshot:8888/day02/hello1.html

图– 11

填写表单数据后点击OK,查看Monitor中的数据包如图-12

图 -12

步骤三:访问代理服务器,以POST方式提交表单数据

修改表单的method值为post。

<form action=“hello1” method=“post“>

重新部署后,输入代理服务器地址http://localshot:8888/day02/hello1.html填写表单数据后点击OK后查看Monitor中的数据包如图-13

图- 13

步骤四:对比代理服务器中的数据包数据

对比图-12和图-13抓取的请求数据包可以看出,get方式和post方式在提交表单数据时的根本区别在于数据所处的位置。get方式参数值在请求资源路径的后面,从请求行汇总传递过来。post方式参数值出现在实体内容中,请求资源路径上不会出现任何多余信息,

3 处理POST请求中的中文参数值

3.1 问题

表单以post方式提交中文数据到服务器端会出现乱码的现象,增加对乱码的处理,使得POST方式能够正确提交数据并显示。

3.2 方案

为html页面增加meta标记,保证浏览器以支持中文编码方式打开页面。在服务器端的Servlet获取请求参数值时,按照与客户端相同的编码方式来解码,就可以实现正确获取,在输出流中同样设置与该编码方式相同格式来控制中文的输出显示。

3.3 步骤

步骤一:新建hello2.html页面并增加meta标记

新建hello2.html页面如下所示

图– 14

表单为post提交方式,文件源代码如下:

图 - 15

步骤二:新建Hello2Servlet.java文件

新建Hello2Servlet.java文件,添加request.setCharacterEncoding来设置取参数值之前的解码方式,为了保证输出中文,使用response.setContentType来设置content-type的消息头,从而控制浏览器的解码方式。

图 - 16

步骤三:修改web.xml文件

添加Hello2Servlet的映射,如图-17

图 - 17

步骤四:部署并访问工程

部署工程,启动服务,输入地址,并输入中文表单数据后查看结果。

图 - 18

3.4 完整代码

hello2.html完整代码如下:

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
</head>
<body style="font-size:24px">
<form action="hello2" method="post">
	姓名:<input name="name"><br>
	联系方式:<Br>
	QQ<input type="checkbox" name="contact" value="qq"/>
	电话<input type="checkbox" name="contact" value="tel"/>
	微信<input type="checkbox" name="contact" value="wechat"/><br>
	<input type="submit" value="OK">
</form>
</body>
</html>

Hello2servlet.java完整代码如下:

package 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;

public class Hello2Servlet extends HttpServlet {

	protected void service(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		//保证正确读取post提交来的中文
		req.setCharacterEncoding("utf-8");
		//保证正确输出中文
		resp.setContentType("text/html;charset=utf-8");
		PrintWriter out = resp.getWriter();
		//获取提交的name的值
		String name = req.getParameter("name");		
		out.println("<h1>Hello," + name + "</h1>");
		//获取提交的contact的值
		String[] contacts = req.getParameterValues("contact");
		if(contacts!=null){
			out.print("<h1>联系方式:</h1>");
			for(String contact :contacts){
				out.print("<h1>"+contact+"</h1>");
			}
		}
		out.close();
	}
}

web.xml文件完整代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	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">
<servlet>
	<servlet-name>hello2Servlet</servlet-name>
	<servlet-class>web.Hello2Servlet</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>hello2Servlet</servlet-name>
	<url-pattern>/hello2</url-pattern>
</servlet-mapping>
</web-app>

4 处理GET请求中的中文参数值

4.1 问题

表单以get方式提交中文数据到服务器端会出现乱码的现象,增加对乱码的处理,使得get方式能够正确提交数据并显示。

4.2 方案

为html页面增加meta标记,保证浏览器以支持中文编码方式打开页面。在服务器端的Servlet获取请求参数值时,按照iso-8859-1的方式获取字节码,再使用与客户端相同的编码方式来解码,

4.3 步骤

步骤一:新建hello2.html页面并增加meta标记

页面中的表单提交方式为get

图 - 19

步骤二:新建Hello2Servlet.java文件

表单提交到的Servlet中需要按照ios-8859-1的方式获取字节码,再将此字节码按照UTF-8方式的解码。

图 - 20

步骤三:修改web.xml文件

与图-17一致。

步骤四:部署并访问工程

部署并访问工程,输入中文姓名查看结果及地址栏。

图 - 21

4.4 完整代码

hello2.html文件完整代码:

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
</head>
<body style="font-size:24px">
<form action="hello2" method="get">
	姓名:<input name="name"><br>
	联系方式:<Br>
	QQ<input type="checkbox" name="contact" value="qq"/>
	电话<input type="checkbox" name="contact" value="tel"/>
	微信<input type="checkbox" name="contact" value="wechat"/><br>
	<input type="submit" value="OK">
</form>
</body>
</html>

Hello2Servlet.java文件代码如下:

package 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;

public class Hello2Servlet extends HttpServlet {

	protected void service(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		//保证正确输出中文
		resp.setContentType("text/html;charset=utf-8");
		PrintWriter out = resp.getWriter();
		//获取提交的name的值
		String name = req.getParameter("name");
		//保证正确读取get提交来的中文
		name = new String(name.getBytes("iso-8859-1"),"UTF-8");
		out.println("<h1>Hello," + name + "</h1>");
		//获取提交的contact的值
		String[] contacts = req.getParameterValues("contact");
		if(contacts!=null){
			out.print("<h1>联系方式:</h1>");
			for(String contact :contacts){
				out.print("<h1>"+contact+"</h1>");
			}
		}
		out.close();
	}
}

web.xml文件代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	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">
<servlet>
	<servlet-name>hello2Servlet</servlet-name>
	<servlet-class>web.Hello2Servlet</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>hello2Servlet</servlet-name>
	<url-pattern>/hello2</url-pattern>
</servlet-mapping>
</web-app>

5 员工管理——添加员工信息

5.1 问题

编写工程实现收集员工姓名、薪水、年龄信息,将数据提交到服务器后,服务器能够正确获取参数值并输出显示,要求能够支持中文。

5.2 方案

制作表单用于获取用户输入,选择post方式提交数据,添加meta标签控制浏览器的编码方式。服务器端增加Servlet用于获取请求参数值,添加用于处理中文乱码的setCharaterEncoding,实现正确解码。使用setContentType实现中文的正确输出。

5.3 步骤

步骤一:新建addEmp.html页面

新建addEmp.html页面效果如图-22所示

图– 22

addEmp.html页面的表单如下:

图 - 23

步骤二:新建AddEmpServlet类

新建AddEmpServlet类,使用request.setCharacterEncoding("UTF-8")及response.setContentType("text/html;charset=UTF-8")来保证正确获取中文,正确输出中文。

图- 24

步骤三:修改web.xml文件

修改web.xml文件,为AddEmpServlet添加映射,如图-25

图 - 25

步骤四:部署及访问应用

部署应用,启动Tomcat,输入访问addEmp.html的页面地址,输入中文,点击提交,查看运行结果。

图 - 26

5.4 完整代码

addEmp.html文件完整代码:

<html>
	<head>
		<meta http-equiv="content-type" content="text/html;charset=utf-8">
	</head>
	<body style="font-size:24px">
		<form action="add" method="post">
			<fieldset>
				<legend>添加员工</legend>
				姓名:<input name="name"/><br>
				薪水:<input name="salary"/><br>
				年龄:<input name="age"/><br>
				<input type="submit" value="添加"/>
			</fieldset>
		</form>
	</body>
</html>

AddEmpServlet.java文件完整代码:

package web;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class AddEmpServlet extends HttpServlet {

	public void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// 设置中文的输入和输出
		request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=UTF-8");
		// 获取输出流对象,并输出信息
		PrintWriter out = response.getWriter();
		// 获取表单提交的数据
		String name = request.getParameter("name");
		double salary = Double.valueOf(request.getParameter("salary"));
		int age = Integer.valueOf(request.getParameter("age"));		
		out.print("<h1>员工信息</h1>");
		out.print("<h1>姓名:" + name + "</h1>");
		out.print("<h1>薪水:" + salary + "</h1>");
		out.print("<h1>年龄:" + age + "</h1>");
		out.close();
	}
}

web.xml文件完整代码:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	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">
<servlet>
	<servlet-name>addEmpServlet</servlet-name>
	<servlet-class>web.AddEmpServlet</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>addEmpServlet</servlet-name>
	<url-pattern>/add</url-pattern>
</servlet-mapping>
</web-app>

6 员工管理——使用JDBC添加员工信息

6.1 问题

将客户端提交的员工信息,使用JDBC的技术插入到t_emp表中。

6.2 方案

首先在Oracle中建立一个名字叫t_emp的表,包括id,name,salary,age四个字段,id为主键字段,并实现自增。在处理表单信息的Servlet中,使用JDBC技术完成连接数据库,并使用获取的请求参数值构建insert语句,执行后完成员工信息的增加操作。操作成功或失败均返回给用户响应的提示信息。

6.3 步骤

步骤一:使用MyEclipse的DB Browser视图连接Oracle数据库

使用如下步骤打开DB Browser视图

菜单“window”(“Show View”(“Other…”在搜索栏输入DB,选择“DB Browser“后点击ok即可。在视图中右键选择new,创建一个新的连接,配置如图-27,图-28

图 - 27

图- 28

连接数据库正确后,点击新创建的这个连接,右键 Open Connection即可查看连接情况如图-29

图- 29

步骤二:执行SQL语句创建t_emp表

在工程节点下,右键新建一个名字叫做day02.sql的文件,在该文件中编写建表脚本。如图-30,图-31

图– 30

图- 31

在sql文件中,编写完sql语句后,为了执行,可以选中,然后点击连接左边的绿色按钮,即代表执行。为了查看表是否创建,可以在执行完以后到DB Browser视图中,打开对应的连接,查看下面的table节点下是否有更新。

表创建成功之后,继续在sql文件中编写insert语句,选中后执行。为了查看表内的数据,再编写select * from t_emp语句。结果的查看可以通过菜单“Window” ( “show View” ( “Other…”,在搜索栏中填写SQL后,选中SQL Result视图,点击确定,即可打开视图看见select语句的执行结果。过程如图-32,图-33所示

图– 32

图– 33

步骤三:新建addEmp.html页面

建立addEmp.html页面如下

图– 34

步骤四:新建AddEmpServlet.java类

编写有关数据库操作的代码,如图-35

图– 35

在编写JDBC代码时,需要加载驱动jar包,否则Class.forName会报错。在web Project中添加jar包,只需要将文件拷贝,在lib文件夹下右键粘贴即可,工程会自动增加对jar包的构建。

如图-36为添加了驱动jar包后效果

图- 36

步骤五:添加AddEmpServlet的映射

图-37

步骤六:部署应用,访问addEmp.html页面,查看结果

部署应用,访问addEmp.html页面填写中文数据后点击提交。可以到SQL Result界面中通过执行查询语句确认增加操作是否执行成功。结果参考图-38,图-39

图- 38

图- 39

6.4 完整代码

addEmp.html文件完整代码:

		<form action="add" method="post">
			<fieldset>
				<legend>添加员工</legend>
				姓名:<input name="name"/><br>
				薪水:<input name="salary"/><br>
				年龄:<input name="age"/><br>
				<input type="submit" value="添加"/>
			</fieldset>
		</form>

AddEmpServlet.java文件完整代码:

package web;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class AddEmpServlet extends HttpServlet {

	public void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// 设置中文的输入和输出
		request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=UTF-8");
		// 获取输出流对象,并输出信息
		PrintWriter out = response.getWriter();
		// 获取表单提交的数据
		String name = request.getParameter("name");
		double salary = Double.valueOf(request.getParameter("salary"));
		int age = Integer.valueOf(request.getParameter("age"));
		//将数据插入到数据库t_emp表中
		Connection conn = null;
		PreparedStatement stat = null;
		try {
			Class.forName("oracle.jdbc.OracleDriver");
			conn = DriverManager.getConnection(
					"jdbc:oracle:thin:@localhost:1521:xe", "xxxx", "xxxx");
			stat = conn.prepareStatement("insert into t_emp values" +
					"(emp_id_seq.nextval,?,?,?)");
			stat.setString(1, name);
			stat.setDouble(2, salary);
			stat.setInt(3, age);
			stat.executeUpdate();
			out.println("添加成功");
		} catch (Exception e) {
			e.printStackTrace();
			out.print("系统繁忙,稍后重试");
		} finally{
			if(stat!=null){
				try {
					stat.close();
				} catch (SQLException e) {					
					e.printStackTrace();
				}
			}
			if(conn!=null){
				try {
					conn.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
		}
	}
}

web.xml文件完整代码:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	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">
<servlet>
	<servlet-name>addEmpServlet</servlet-name>
	<servlet-class>web.AddEmpServlet</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>addEmpServlet</servlet-name>
	<url-pattern>/add</url-pattern>
</servlet-mapping>
</web-app>

day02.sql文件完整代码:

create table t_emp(
	id number(4) primary key,
	name varchar2(20),
	salary number(7,2),
	age number(3)
)

create sequence emp_id_seq increment by 1 start with 1

insert into t_emp values(emp_id_seq.nextval,'Lisa',3000.00,20)
insert into t_emp values(emp_id_seq.nextval,'花儿',3000.00,20)
insert into t_emp values(emp_id_seq.nextval,'少年',3000.00,20)

select * from t_emp

7 员工管理——使用JDBC查询所有员工信息

7.1 问题

客户端访问服务器后可以返回t_emp表中所有数据的表格展示,效果如图-40:

图- 40

7.2 方案

在处理请求的Servlet中,使用JDBC技术实现数据库的访问,并且在遍历结果集时,将结果与html的表格行、列标签进行连接,生成符合表格样式的标记后输出到客户端。

7.3 步骤

步骤一:新建ListEmpServlet.java文件

在ListEmpServlet类中,使用JDBC技术连接数据库,并执行查询语句,对查询结果集遍历后,以表格形式输出。如图-41

图- 41

步骤二:添加ListEmpServlet映射

修改web.xml文件,添加映射,如图-42

图- 42

步骤三:部署及访问应用

部署后,在浏览器地址栏输入地址http://localhost:8080/应用名/list,查看结果是否与图-40一致。

7.4 完整代码

ListEmpServlet.java文件完整代码:

package web;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ListEmpServlet extends HttpServlet {

	public void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		response.setContentType("text/html;charset=UTF-8");
		PrintWriter out = response.getWriter();		
		//1.连接数据库获取数据
		Connection conn = null;
		PreparedStatement stat = null;
		ResultSet rs = null;
		try{
			Class.forName("oracle.jdbc.OracleDriver");
			conn = DriverManager.getConnection(
					"jdbc:oracle:thin:@localhost:1521:xe",
					"xxxx",
					"xxxx");
			stat = conn.prepareStatement("select * from t_emp");
			rs = stat.executeQuery();
			//2.输出表格之前的页面标记
			out.println("<HTML>");
			out.println("<HEAD></HEAD>");
			out.println("<BODY>");
			out.println("<table border='1' cellpadding='0' cellspacing='0' width='60%'>");
			out.println("<caption>员工信息列表</caption>");
			out.println("<tr><td>ID</td><td>姓名</td><td>薪水</td><td>年龄</td></tr>");
			//3.遍历结果集,以表格形式输出数据
			while(rs.next()){
				int id = rs.getInt("id");
				String name = rs.getString("name");
				double salary = rs.getDouble("salary");
				int age = rs.getInt("age");
				out.println("<tr><td>"+
						id+"</td><td>"+
						name+"</td><td>"+
						salary+"</td><td>"+
						age+"</td></tr>");
			}
			out.print("</table>");
			out.print("<a href='addEmp.html'>增加员工信息</a>");
			out.println("</BODY>");
			out.println("</HTML>");
			out.flush();
			out.close();
		}catch(Exception e){
			e.printStackTrace();
			out.println("系统繁忙,请稍后重试");
		}finally{
			if(conn!=null){
				try {
					conn.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
		}
		
	}

}

web.xml文件完整代码:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	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">
<servlet>
	<servlet-name>addEmpServlet</servlet-name>
	<servlet-class>web.AddEmpServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>listEmpServlet</servlet-name>
<servlet-class>web.ListEmpServlet</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>addEmpServlet</servlet-name>
	<url-pattern>/add</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>listEmpServlet</servlet-name>
<url-pattern>/list</url-pattern>
</servlet-mapping>
</web-app>