Servlet入门

不打扰是莪最后的温柔 提交于 2020-01-13 14:06:04

什么是servlet:
Servlet是一个java类,是sun公司提供专门用于web应用开发的一个类
Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。

创建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();
	}

}

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!