Servlet技术主要是为了使用Web上的HTTP协议而设计的。servlet是在WEB服务器上运行的程序。Java Servlet可以用于处理客户请求或生成动态Web网页。先一个实例。然后解释。
先编辑如下文件,暂且命名为FirstServlet.java
import javax.servlet.*;
import javax.servlet.http.*;
public class FirstServlet extends HttpServlet{
protected void doGet(HttpServletRequest request,
HttpServletResponse response)throws ServletException,
java.io.IOException{
response.setContentType("text/html");
java.io.PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title> Servlet 测试</title>");
out.println("</head>");
out.println("<body>");
out.println("Hello,Java Servlets");
out.println("</body>");
out.println("</html>");
out.close();
}
}
先要在电脑上配置好JDK,下载tomcat 7.在tomcat/lib/servlet-api.jar将该jar包的路径,配置到环境变量中的系统变量,CLASSPATH中,“;C:\Users\Administrator\Desktop\java\servlet-api.jar”,注意封号,因为javax.servlet和javax.servlet.http这两个接口是在servlet-api.jar包中实现的。然后在FirstServlet.java的路径下,javac FirstServlet.java编译后,生成FirstServlet.class。然后将FirstServlet.class拷贝到你安装的tomcat 7.0中的tomcat/webapps/examples/WEB-INF/class下,(里面的jsp、servlets、websocket、websocket-deprecated都是很好的示例)。然后在路径tomcat/webapps/examples/WEB-INF/web.xml中添加
<servlet>(作用:用来命名Servlet的)
<servlet-name>FirstServlet</servlet-name>
<servlet-class>FirstServlet</servlet-class>(若有package名,要用.隔开)
</servlet>
<servlet-mapping>(作用:为Servlet提供一个缺省的URL)
<servlet-name>FirstServlet</servlet-name>
<url-pattern>/FirstServlet</url-pattern>
</servlet-mapping>
然后,在tomcat/bin/startup.bat下,双击startup.bat启动tomcat容器。输入路径:http://localhost:8080/examples/FirstServlet即可看到输出:Hello,Java Servlets。
在web.xml中添加的两个标签<servlet></servlet>和<servlet-mapping></servlet-mapping>,命名和定制URL的作用。我们可以为Servlet文件命名,并定制URL路径,其中定制URL是依赖命名的,命名必须在定制URL之前。例如:
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>org.whatisjava.TestServlet</servlet-class>
<init-param>
<param-name>userName</param-name>
<param-value>Daniel</param-value>
</init-param>
<init-param>
<param-name>E-mail</param-name>
<param-value>125485762@qq.com</param-value>
</init-param>
</servlet>
用上面这个配置,servlet可以调用getServletConfig().getInitParameter("param1")获得参数名对应的值。
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>org.whatisjava.TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet1</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
作用:实现了命名,并为Servlet定制URl