Java Web编程之Servlet技术详解

时间:2021-05-20

Java Web编程之Servlet技术,知多少?

1、Servlet基础
  针对Servlet技术开发,Sun公司提供了一些列接口和类,其中最重要的是javax.servlet.Servlet接口,两个重要的包是javax.servlet和javax.servlet.http,Servlet就是一种实现了Servlet接口的类,它由Web容器(Tomcat/Jetty等)负责调用并创建,用于接收和响应用户请求。Servlet接口中定义了5个抽象方法:

Servlet顶层类结构如下所示:

2、第一个Servlet程序

新建一个Java Web工程,然后新建Hello类,Hello.java源码如下:

package zzz;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class Hello extends HttpServlet { @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { // 设置响应消息编码 response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); out.println("Hello World"); } @Override public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { this.doGet(request, response); }}

配置文件web.xml如下:

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://pany</param-name> <param-value>dahua</param-value></context-param>

注意:一个<context-param>元素里只能有一个<param-name>和<param-value>,上面的配置在web.xml中<web-app>下配置。Hello.java文件如下:

package zzz;import java.io.IOException;import java.io.PrintWriter;import java.util.Enumeration;import javax.servlet.ServletContext;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class Hello extends HttpServlet { @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { // 设置响应消息编码 response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); ServletContext context = this.getServletContext(); Enumeration<String> paramNames = context.getInitParameterNames(); while (paramNames.hasMoreElements()) { String name = paramNames.nextElement(); String value = context.getInitParameter(name); out.println(name + ": " + value + "<br/>"); } } @Override public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { this.doGet(request, response); }}

  由于一个Web应用中所有Servlet共享一个ServletContext对象,所以ServletContext对象的域属性可以被Web应用中所有的Servlet访问。在ServletContext接口中定义了分别增加、删除、设置ServletContext域属性的4个方法:

通过以上方法就可以实现多个Servlet间共享数据,这个具体实例就不贴代码了,网上可参考的资料很多,比如可以点击:

javaweb Servlet开发总结(二)

以上就是本文的全部内容,希望对大家了解Java Web的Servlet技术有所帮助。

参考资料

1、《Java Web程序开发入门》Servlet技术章节

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章