I>
最近新装了一个myesclipse之后,发现当我建一个servlet类时,并没有在tomcat服务器的目录下自动生成一个web.xml文件,后来查阅相关资料才得知:
原来是用注解接口代替了web.xml文件,在我们创建的Java代码中,可以看到如下文字:
@WebServlet
例如:在我的代码中,可以看到自动生成一行代码:
点击WebServlet,我们会看到如下解释:
II>
那么接下来,我们该怎么通过浏览器去访问我们的服务器呢?
1> 以我的tomcat服务器的目录的内容为例,当我在myesclipse中新建一个工程,名为servlet,再将其部署到tomcat服务器之后,
就会在tomcat服务器的webapps目录下,看到servlet这个文件夹,但是没有看到web.xml文件,因为从Servlet 3.0之后,就用注解代替了
2> 然后,我在servlet工程下新建一个servlet类名为:servletDemo1
其代码如下:
package com;
import java.io.IOException;
import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebServlet;
/**
* Servlet implementation class servletDemo1
*/
<strong>@WebServlet("/servletDemo1")</strong>
public class servletDemo1 extends GenericServlet {
private static final long serialVersionUID = 1L;
/**
* @see GenericServlet#GenericServlet()
*/
public servletDemo1() {
super();
// TODO Auto-generated constructor stub
}
@Override
public void init() throws ServletException {
// TODO Auto-generated method stub
super.init();
System.out.println("初始化");
}
/**
* @see Servlet#service(ServletRequest request, ServletResponse response)
*/
public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().write("<strong>how are you ?</strong>");
System.out.println("处理响应完毕");
}
@Override
public void destroy() {
// TODO Auto-generated method stub
super.destroy();
System.out.println("销毁");
}
}
可以看到“@WebServlet("/servletDemo1")",其会自动生成
接下来开启tomcat服务器,然后打开浏览器,输入:http://localhost:8080/servlet/servletDemo1
完成上述步骤,即可访问我的服务器,其页面显示的效果为:
注:servlet是我的webapps下的应用名,这个应用名也是根据我创建的web 工程名而自动生成的(当你将其部署到tomcat服务器上时),
servletDemo1是@WebServlet括号内指定的,其也是自动生成的。