基础Servlet应用程序

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zkzbhh/article/details/83990242

使用@WebServlet声明Servlet的名字和路径

  • 1、MyServlet.java

     packgae app01a
     import java.io.IOException;
     import java.io.PrintWriter;
     import javax.servlet.Servlet;
     import javax.servlet.ServletConfig;
     import javax.servlet.ServletException;
     import javax.servlet.ServletRequest;
     import javax.servlet.ServletResponse;
     import javax.servlet.annotation.WebServlet;
     
     //name声明servlet名,urlpattern声明调用servlet的地址
     @WebServlet(name="MyServlet",urlPatterns="/my")
     public class MyServlet implements Servlet {
     	private transient ServletConfig servletConfig;
    
     @Override
     public void destroy() {	
     	
     }
    
     @Override
     public ServletConfig getServletConfig() {
     	// TODO Auto-generated method stub
     	return servletConfig;
     }
    
     @Override
     public String getServletInfo() {
     	// TODO Auto-generated method stub
     	return "My Servlet";
     }
    
     @Override
     public void init(ServletConfig servletConfig) throws ServletException {
     	this.servletConfig=servletConfig;
     }
     @Override
     public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
     	String servletname=servletConfig.getServletName();
     	response.setContentType("text/html");
     	PrintWriter writer=response.getWriter();
     	writer.print("<html><head></head>"+"<body>Hello from "+servletname+"</body></html>");		
     }
     }
    

在这里插入图片描述

在这里插入图片描述

  • 2、ServletConfigDemoServlet.java
package app01a;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;

//名为ServletConfigDemoServlet的Servlet;挑战地址为/servletConfigDemo
@WebServlet(name="ServletConfigDemoServlet",
urlPatterns={"/servletConfigDemo"},
initParams={
		@WebInitParam(name="admin",value="Amlucky"),
		@WebInitParam(name="email",value="[email protected]")
   }		
)
public class ServletConfigDemoServlet implements Servlet{

	private ServletConfig servletConfig;

	@Override
	public void destroy() {
		
	}

	@Override
	public ServletConfig getServletConfig() {
		return servletConfig;
	}

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

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

	@Override
	public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		ServletConfig servletConfig=getServletConfig();
		String admin=servletConfig.getInitParameter("admin");
		String email=servletConfig.getInitParameter("email");
		response.setContentType("text/html");
		PrintWriter writer=response.getWriter();
		writer.print("<html><head></head><body><center>"+"Admin:"+admin+"<br>Email:"+email+"</center></body></html>");
	}
}

在这里插入图片描述

在这里插入图片描述

  • 3、抽象类GenericServlet(GenericServletDemoServlet.java)
package app01a;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.GenericServlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;

//以下为重点
@WebServlet(name="GenericServletDemoServlet",urlPatterns={"/generic"},
	initParams={
			@WebInitParam(name = "admin", value = "Amlucky"),
			@WebInitParam(name = "email", value = "[email protected]")
	}
)
public class GenericServletDemoServlet extends GenericServlet{
	private static final long servialVersonUid=62500890L;
	@Override
	public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		ServletConfig servletConfig=getServletConfig();
		String admin=servletConfig.getInitParameter("admin");
		String email=servletConfig.getInitParameter("email");
		response.setContentType("text/html");
		PrintWriter writer=response.getWriter();
		//writer.print("1111");
		writer.print("<html><head></head><body>"+"Admin:"+admin+"<br>Email:"+email+"</body></html>");
	}
}

在这里插入图片描述
在这里插入图片描述

使用部署描述符声明Servlet的名字和路径

  • SimpleServlet.java
package app01a;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.Servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class SimpleServlet extends HttpServlet{
	private static final long serialVersionUid=8946L;
	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.setContentType("text/html");
		PrintWriter writer=response.getWriter();
		writer.print("<html><head></head>"+"<body>Simple Servlet</body></html>");
	}
}

  • WelcomeServlet.java
package app01a;

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 WelcomeServlet extends HttpServlet{

	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.setContentType("text/html");
		PrintWriter writer=response.getWriter();
		writer.print("<html><head></head>"+"<body>Welcome</body></html>");
	}
	
}

  • web.xml(在WEB-INF目录下)的映射
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
  <!--SimpleServlet的映射 -->
  <servlet>
  	<servlet-name>SimpleServlet</servlet-name>
  	<servlet-class>app01a.SimpleServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>SimpleServlet</servlet-name>
  	<url-pattern>/simple</url-pattern>
  </servlet-mapping>
  
  <!-- WelcomeServlet的映射 -->
  <servlet>
  	<servlet-name>WelcomeServlet</servlet-name>
  	<servlet-class>app01a.WelcomeServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>WelcomeServlet</servlet-name>
  	<url-pattern>/welcome</url-pattern>
  </servlet-mapping>
  
</web-app>

在这里插入图片描述

在这里插入图片描述

总结:

1.可以使用@WebServlet注解的形式声明Servlet名合映射地址

2.部署描述符传给Servlet的配置信息

猜你喜欢

转载自blog.csdn.net/zkzbhh/article/details/83990242