版权声明:本文为博主原创文章,未经博主允许不得转载。 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>