Servlet入门

什么是servlet:
Servlet是一个java类,是sun公司提供专门用于web应用开发的一个类
Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。
Servlet是JavaEE三大组建之一,是使用Java语言编写服务器端的程序,主要用来处理Web应用程序中的请求-响应。Servlet并没有main之类的执行方法,当用户访问服务器的时候,Tomcat是通过调用Servlet的某些方法来完成整个处理过程的。Servlet是运行在Tomcat服务器提供的Servlet容器中的,所以Servlet是不用程序指定调用的。

创建Servlet:
Servlet有三种创建方式
1、继承HttpServlet类(重点掌握这种)
2、继承GenericServlet类
3、实现Servlet的接口

推荐使用:继承HTTPServlet这种方式是最常用的

在这里插入图片描述
配置文件
如何配置Servlet:

1、xml配置
		<servlet>
			<servlet-name>MyServlet03</servlet-name>
			<servlet-class>com.openlab.servlet.day01.MyServlet03</servlet-class>
		</servlet>
		<servlet-mapping>
			<servlet-name>MyServlet03</servlet-name>
			<url-pattern>/s3</url-pattern>
		</servlet-mapping>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  
  <servlet>
      <servlet-name>MyServlet01</servlet-name>
      <servlet-class>com.oplab.servlet.myPro01.MyServlet01</servlet-class>
   </servlet>
   
   <servlet>
      <servlet-name>MyServlet02</servlet-name>
      <servlet-class>com.oplab.servlet.myPro01.MyServlet02</servlet-class>
   </servlet>
 
   <servlet-mapping>
   <servlet-name>MyServlet01</servlet-name>
    <url-pattern>/s1</url-pattern>
   </servlet-mapping>
   
  
  <servlet-mapping>
   <servlet-name>MyServlet02</servlet-name>
    <url-pattern>/s2</url-pattern>
   </servlet-mapping>
   
   <servlet>
      <servlet-name>MyServlet03</servlet-name>
      <servlet-class>com.oplab.servlet.myPro01.MyServlet03</servlet-class>
   </servlet>
   
   <servlet-mapping>
   <servlet-name>MyServlet03</servlet-name>
    <url-pattern>/s3</url-pattern>
   </servlet-mapping>
  
  
  
   <!-- 这个 display-name选项是项目描述配置项-->
  <display-name>myPro01</display-name>
  <!-- 项目默认的首页面 -->
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>

1、

package com.oplab.servlet.myPro01;

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 MyServlet01 extends HttpServlet {
	private static final long serialVersionUID = 1L;
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    	//当get请求过来的时候,默认会进入这个方法
      
    	//setContentType("")设置响应头的规则
    	resp.setContentType("text/html;charset=utf-8");
    	
    	System.out.println("get请求过来了 ");
    	//文本输出流,自动换行
    	PrintWriter out=resp.getWriter();
    	out.print("<!doctype html>");
    	out.print("<html>");
    	out.print("<head>");
    	out.print("<title>这个是一个servelet生成的页面 </title>");
    	out.print("</head>");
    	out.print("<body>");
    	out.print("<h1>hellow</h1>");
    	out.print("<table>");
        for(int i=1;i<=9;i++) {
        	out.print("<tr>");
        	out.print("<td>"+i+"</td>");
        	out.print("</tr>");
        	
        }
    	out.print("</table>");
    	out.print("</body>");
    	out.print("</html>");
    	
    	
    }
    
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    	//当页面刚访问时候,默认会进入这个方法这个方法
        
    	System.out.println("post请求过来了");
    	this.doGet(req, resp);
    }
}

2、

package com.oplab.servlet.myPro01;

import java.io.IOException;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class MyServlet02 implements Servlet {

	@Override
	public void init(ServletConfig arg0) throws ServletException {
		//init方法只会执行一次
		System.out.println("sevrlet初始化方法");

	}

	@Override
	public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
		System.out.println("服务请求");

	}
	@Override
	public void destroy() {
		//只会执行一次,服务器重启的时候或者关闭的时候
		System.out.println("sevrlet被销毁的方法");

	}
	
	@Override
	public ServletConfig getServletConfig() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public String getServletInfo() {
		// TODO Auto-generated method stub
		return null;
	}

}

3、

package com.oplab.servlet.myPro01;

import java.io.IOException;

import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class MyServlet03 extends GenericServlet {

	@Override
	public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
		System.out.println("servlet");

	}

	@Override
	public void destroy() {
		// TODO Auto-generated method stub
		super.destroy();
	}

	@Override
	public void init() throws ServletException {
		// TODO Auto-generated method stub
		super.init();
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值