init和destory方法只调用一次。而doGet和doPost有可能会被调用多次,根据用户的选择。
package com.web1.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class TestServlet1 extends HttpServlet{
public void init(){
System.out.println("init");
}
public void destory(){
System.out.println("destory");
}
public void doGet(HttpServletRequest request,HttpServletResponse response){
try {
String a=request.getProtocol();
String name=request.getParameter("username");
response.setCharacterEncoding("utf-8");//解决用户输入得到的是乱码问题
response.setContentType("text/html;charset=utf-8");
PrintWriter pw = response.getWriter();
pw.print("<h1>hello world<h1>");
pw.print("\n");
pw.print("woshi "+name+"小明");
pw.print("<br>"+a);
System.out.println("小明");
pw.close();
// 中文解决方法
// server.xml中的Connector+URIEncoding="utf-8"
// response.setCharacterEncoding("utf-8");
// response.setContentType("text/html;charset=utf-8");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void doPost(HttpServletRequest request,HttpServletResponse response){
try {
request.setCharacterEncoding("utf-8");//http请求头,编码格式修改
response.setCharacterEncoding("utf-8");//响应编码格式修改
response.setContentType("text/html;charset=utf-8");
String uname=request.getParameter("username");
String pwd=request.getParameter("pwd");
PrintWriter pw = response.getWriter();
pw.write(uname+"||"+pwd);
pw.print("hello world");
pw.print("\n");
pw.print("woshi 小明");
response.sendRedirect("web3");//跳转页面
pw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}