1.新建一个web Project
2.利用servlet向导新建一个servlet类 ,类名是FIrstServlet
web.xml文件中
<servlet-mapping>
<servlet-name>FirstServlet</servlet-name>
<url-pattern>/servlet/FirstServlet</url-pattern>
</servlet-mapping>
FirstServlet类
package net.xiang168.test1;
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 FirstServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.log("执行doGet方法的输出"); //servlet自带的日志 输出信息到控制台
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out
.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" This is ");
out.print(this.getClass());
out.println(", using the GET method");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
// this.execute(request, response);
PrintWriter out = response.getWriter();
out
.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" This is ");
out.print(this.getClass());
out.println(", using the POST method");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
//初始化方法
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
//执行方法
private void execute( HttpServletRequest request ,HttpServletResponse response )throws ServletException, IOException{
}
}
3. RUN as Server Application
使用的是MyEclipse集成Tomcat应用服务器
4.浏览器上访问
http://localhost:8080/test20/servlet/FirstServlet
// 输出的是doGet方法的处理结果
控制台输出
this.log() 方法中的内容
<span style="color:#ff9966;">2015-3-20 14:36:31 org.apache.catalina.core.ApplicationContext log
信息: FirstServlet: 执行doGet方法的输出</span>
5. 对FirstServlet进行重构
package net.xiang168.test1;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class FirstServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.log("执行doGet方法的输出"); //servlet自带的日志 输出信息到控制台
this.execute(request , response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String msg ="执行doPost方法的输出结果" ;
this.log(msg);
this.execute(request, response);
}
//初始化方法
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
//执行方法
private void execute( HttpServletRequest request ,HttpServletResponse response )throws ServletException, IOException{
response.setCharacterEncoding("UTF-8"); //设置response的编码方式
request.setCharacterEncoding("UTF-8"); //设置request的编码方式
String requestURL =request.getRequestURI(); //访问该Servlet的URI
String method = request.getMethod(); //获取访问servlet的方式
String param = request.getParameter("param" );
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCUTYPE HTML PUBLIC \" -//W3C//DTD HTML 4.01 Transitional //EN \">");
out.println("<HTML>") ;
out.println("<HEADER><TITLE>A servlet</TITLE></HEADER>");
out.println("<BODY>");
out.println("以 " + method + "方式访问该页面。取得的param参数是" + param +"" );
//out.println("<form action ='"+requestURL+"' method ='get'>"); //get方法提交表单
out.println("<form action ='"+requestURL+"' method ='post'>");
out.println(" <input type='text' name ='param' value='Hello World!'> <input type='submit' value='以get方法查询查询页面"+requestURL+ "' >");
out.println("</form>");
// 由客户端浏览器读取该文档的更新时间
out.println(" <script> document.write('本页的最后更新时间是" +(new Date()).toString() + "'); </script>");
out.println("</BODY>");
out.println("</HTML>") ;
out.flush();
out.close();
}
}
6. 通过浏览器访问
http://localhost:8080/test20/servlet/FirstServlet?param=1231
控制台输出:
2015-3-20 15:39:20 org.apache.catalina.core.ApplicationContext log
信息: FirstServlet: 执行doGet方法的输出
点击 提交按钮 ,控制台输出一下信息
2015-3-20 15:39:26 org.apache.catalina.core.ApplicationContext log
信息: FirstServlet: 执行doPost方法的输出结果