servlet的编写

                          编写servlet有3中方法

第1种方法通过implements Servlet接口来实现的,此种方法需要重写4个方法
package com.tsinghua;

import javax.servlet.*;
import java.io.*;
//import javax.servlet.Servlet;
//import javax.servlet.ServletConfig;
//import javax.servlet.ServletException;
//import javax.servlet.ServletRequest;
//import javax.servlet.ServletResponse;
//import java.io.IOException;

public class hello implements Servlet{
 
 
//@throws ServletException
  //该init函数用于初始化该servlet(类似于java类的构造//函数)
//该init函数只会被调用一次,当用户第一次访问的时候调用
public void init(ServletConfig parm1) throws ServletException {
  System.out.print("init hello");
 }

 /**
 
  *用来获得servlet配置文件
  */
 public ServletConfig getServletConfig() {
  return null;
 }
 /**
 
  * @throws ServletException
 
*@throws IOException
  *该service方法用于处理业务逻辑
  *程序员应当把代码写在这里
  *当用户每次访问该servlet时,该方法都会被调用
  *ServletRequest对象 req用于获得客户端(浏览器)信息
  *ServletResponse 对象res用于向客户端(浏览器)返回信*息
  */
public void service
(ServletRequest req, ServletResponse res) throws ServletException, IOException {
  //System.out.println()方法用于向控制台输出
  System.out.println("service method");
  //PrintWriter对象用于向浏览器输出
  PrintWriter pw=res.getWriter();
  pw.println("hello servlet");
 }

 
 public String getServletInfo() {
  return "";
 }

 /**
 
  *销毁servlet对象(释放内存)
  *下面3种情况会调用该方法
  *1.reload 该servlet 所在的web应用
  *2.关闭servlet服务器(tomcat)
  *3.关机
  */
 public void destroy() {
  System.out.println("destroy!");
 }
 }


这是第2种编写servlet的方法,通过extends GenericServlet类来实现,只需重写service方法,在方法体内对代码进行try-catch异常处理
package com.tsinghua;

import javax.servlet.*;

import java.io.*;

public class HelloGenericServlet extends GenericServlet{
 
 public void service (ServletRequest req,ServletResponse res){
  
  try{
   
   PrintWriter pw=res.getWriter();
   
   pw.println("hello generic servlet!");
   
  }catch(Exception e){
   
    e.printStackTrace();
  } 
 }
}


这是第3种编写servlet的方法,通过extends HttpServlet类来实现,一般需重写doPost方法和doGet方法,在方法体内对代码进行try-catch异常处理
package com.tsinghua;

import javax.servlet.http.*;

import java.io.*;

public class HelloHttpServlet extends HttpServlet{
 
  public void doPost(HttpServletRequest req,HttpServletResponse res){
   
   try{
    
    PrintWriter pw=res.getWriter();
   
    pw.println("hello Http Servlet!");
   
   }catch(Exception e){
   
    e.printStackTrace();
   }
  }
   
  public void doGet(HttpServletRequest req,HttpServletResponse res){
   
   this.doPost(req,res);
   
  }
}

### 如何编写Servlet教程 #### 创建Servlet类 为了构建一个简单的Servlet程序,首先需要创建一个Java类继承`HttpServlet`抽象类。此类应覆盖`doGet()`或`doPost()`方法来处理HTTP GET和POST请求。 ```java import javax.servlet.*; import javax.servlet.http.*; import java.io.IOException; public class MyServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 设置响应内容类型 response.setContentType("text/html"); // 获取输出流对象 PrintWriter out = response.getWriter(); // 输出HTML到浏览器端 out.println("<html><body>"); out.println("<h1>Hello from Servlet!</h1>"); out.println("</body></html>"); } } ``` 此代码片段展示了如何定义一个基本的Servlet类[^1]。 #### 配置Servlet映射关系 为了让Web容器知道何时调用该Servlet以及它应该监听哪个URL路径下的请求,在部署描述符(web.xml)中需指定<servlet>元素及其对应的<servlet-mapping>元素: ```xml <web-app> <servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>com.example.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/myservlet</url-pattern> </servlet-mapping> </web-app> ``` 上述XML配置说明了当接收到针对`/myservlet` URL模式的请求时,将由名为`MyServlet`的服务实例负责处理这些请求[^2]。 通过以上两步操作即可完成一个简单Servlet应用的搭建工作。这只是一个入门级的例子;实际项目可能会更加复杂,涉及到更多功能特性如会话管理、过滤器链等高级话题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值