1.新建一个web项目,首先贴上自己的项目结构:
2.建立FirstServlet:
package com.wch.sp.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class FirstServlet
*/
public class FirstServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* Default constructor.
*/
public FirstServlet() {
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
public void doGet(HttpServletRequest request, HttpServletResponse response){
this.log("执行doGet方法");
try {
this.execute(request, response);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
public void doPost(HttpServletRequest request, HttpServletResponse response) {
this.log("执行Post方法");
try {
this.execute(request, response);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
protected long getLastModified(HttpServletRequest req) {
this.log("调用getLastModified");
return -1;
}
public void execute(HttpServletRequest request,HttpServletResponse response) throws Exception
{
response.setCharacterEncoding("utf-8");
request.setCharacterEncoding("utf-8");
String method = request.getMethod();
String requestURI = request.getRequestURI();
String param = getInitParameter("message");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>");
out.println("<html>");
out.println("<head>");
out.println(" <title>第一个Servlet </title> ");
out.println("<body>");
out.println("以"+method+"的方式访问该页面,取到的param为:"+param+"<br/>");
out.println("<form action='"+requestURI+"' method='GET' <input type='text' name='param' value='param String'/>" +
"<input type='submit' value='以Get方式查询页面'"+requestURI+"/>");
out.println("</form>");
out.println("<form action='"+requestURI+"' method='POST' <input type='text' name='param' value='param String'/>" +
"<input type='submit' value='以POST方式查询页面'"+requestURI+"/>");
out.println("</form>");
out.println("<script>document.write('本页面最后的更新时间:'+document.lastModified);</script>");
out.println("</body>");
out.println("</head>");
out.println("</html>");
out.flush();
out.close();
}
}
3.配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<!-- 配置Servlet中,以下两个属性是必须配置的,name是可以任意取的,class配置的是包名 -->
<servlet-name>FirstServlet</servlet-name>
<servlet-class>com.wch.sp.servlet.FirstServlet</servlet-class>
<!-- servlet中还有许多可选的配置,例如下面的初始化参数配置,一个Servlet可以配置多个初始化参数,Servlet中可以使用getInitParameter(name)
或者是getInitParameterNames()获取配置的参数值-->
<init-param>
<param-name>message</param-name>
<param-value>utf-8</param-value>
</init-param>
<!--下面的标签配置的是Servlet的加载方式,可选值为0或1,如果配置为1,Tomcat会在启动时加载该Serlet。
否则,Tomcat会在有人第一次请求该Servlet的时候才加载该 Servlet。实际项目中,一些框架如Struts、JSF、Spring都是用该参数来加载框架中核心的Servlet-->
<load-on-startup>1</load-on-startup>
</servlet>
<!--配置Servlet的访问方式,Servlet-name就是前面配置的Servlet的名称,url-pattern配置该Servlet的访问方式-->
<servlet-mapping>
<servlet-name>FirstServlet</servlet-name>
<!-- 配置的Servlet的访问路径,可以随便设置,比如说我现在访问Servlet的路径就是:http://localhost:8080/Servlet/servlet/firstServlet -->
<url-pattern>/servlet/firstServlet</url-pattern>
</servlet-mapping>
</web-app>
4.部署在Tomcat容器中,然后开启Tomcat服务器,访问:http://localhost:8080/Servlet/servlet/firstServlet(如果你在doGet()或者doPost()方法中打入断点,会更加好理解程序的流程)
访问结果是: