1. 实现Servlet的方式
1).是使用继承
继承HttpServlet
2).使用接口
/**
* 实现Servlet方式二--实现Servlet接口
* @author admin
*
*/
publicclassServletTest implements Servlet {
/**
* 销毁方法
*/
@Override
publicvoid destroy() {
}
/**
* 得到Servlet上下文配置对象
*/
@Override
public ServletConfiggetServletConfig() {
returnnull;
}
/**
* 得到Servlet信息
*/
@Override
public String getServletInfo(){
returnnull;
}
/**
* 初始化方法
*/
@Override
publicvoid init(ServletConfigarg0) throwsServletException {
}
/**
* Servlet服务方法
*/
@Override
publicvoid service(ServletRequestrequest, ServletResponse response)
throws ServletException,IOException {
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
PrintWriterout = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.println("<h1>欢迎进入Servlet编程世界!</h1>");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
6.使用Servlet读取文件
response.setContentType("text/html,charset=utf-8");
response.setCharacterEncoding("utf-8");
// 创建一个输出对象
PrintWriterout = response.getWriter();
Stringfn = request.getParameter("fileName");
// 得到读取路径
@SuppressWarnings("deprecation")
Stringpath = request.getRealPath(fn);
// 根据路径创建文件对象
Filefile = newFile(path);
// 判断文件是否存在
if (file.exists()) {
// 创建文件读取对象
FileReaderread = newFileReader(file);
// 缓冲读取字符对象
BufferedReaderbufferedReader = newBufferedReader(read);
Stringline = null;
// 将读取的数据存放在字符串变量中
while ((line =bufferedReader.readLine()) != null) {
out.print("<h3>"+ line + "</h3><br>");
}
}else{
out.print("文件不存在!");
}
out.flush();
out.close();
7.使用Servlet写入文件
// 使用get方法提交表单会将表单数据通过url方式拼凑传递
// 读取的编码
response.setCharacterEncoding("gb2312");
StringfileName = "new.txt";
// 获取表单数据
Stringn1 = request.getParameter("n1");
// n1=newString(n1.getBytes("ISO-8859-1"),"gb2312");
Stringn2 = request.getParameter("n2");
// n2=newString(n2.getBytes("ISO-8859-1"),"gb2312");
Stringn3 = request.getParameter("n3");
// n3=newString(n3.getBytes("ISO-8859-1"),"gb2312");
// 创建文件对象
Filefile = newFile(request.getRealPath(fileName));
// 创建写文件对象
FileWriterfw = newFileWriter(file, true);
// 创建缓冲文件写入对象
BufferedWriterbw = newBufferedWriter(fw);
// 开始写入文件
bw.newLine();
bw.write(n1);
bw.newLine();
bw.write(n2);
bw.newLine();
bw.write(n3);
// 刷新和关闭文件写入对象
bw.flush();
bw.close();
fw.close();
8.请求和转发对象
response.setContentType("text/html,charset=utf-8");
response.setCharacterEncoding("utf-8");
PrintWriterout = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
// 获得表单数据
Stringuser = request.getParameter("user");
Stringpwd = request.getParameter("pwd");
// 创建一个请求转发对象
RequestDispatcherdisp = null;
if (user.equals("msit") &&pwd.equals("msit")){
// 成功就做转发
request.setAttribute("user", user);
disp=request.getRequestDispatcher("ok.jsp");
disp.forward(request,response);
}else{
// 失败就重定向
response.sendRedirect("MyLogin.jsp");
}
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();