一、目的
1)熟悉Java Web开发环境和工具
2)掌握Servlet技术的基本原理,理解常用API
3)掌握使用Servlet进行请求处理和响应客户端的方法
4)掌握Servlet的开发、部署和运行调试方法
5)理解Web会话跟踪的原理,能熟练使用Session进行会话跟踪
二、原理
1、Servlet的基本原理和常用API;
2、Servlet的基本处理流程及页面跳转方法;
3、Web会话跟踪的原理和实现技术;
三、步骤、数据记录及处理
1、开发Servlet版的“HelloWorld”程序,向客户端输出HTML内容;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet(name = "HelloWorld")
public class HelloWorld extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out =response.getWriter();
out.print("<!DOCTYPE html>");
out.print("<html lang=\"en\">");
out.print("<head>");
out.print(" <meta charset=\"UTF-8\">");
out.print(" <title>Title</title>");
out.print("</head>");
out.print("<body>");
out.print("HelloWorld");
out.print("</body>");
out.print("</html>");
out.close();
out.flush();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
2、开发简单Servlet,理解Servlet的生命周期及编程方法;
Servlet生命周期:
(1)Servlet被创建:init()方法在Selvlet被创建时执行且只会执行一次。
(2)提供服务:service()方法提供服务,在每一次时Selvlet被访问时执行,执行多次。
(3)Selvlet被销毁:destory()方法在服务器正常关闭时执行,执行一次。
package cn.itcast.web.servlet;
import javax.servlet.*;
import java.io.IOException;
public class ServletDemo2 implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
System.out.println("init.......");
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("service.......");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
System.out.println("destroy.......");
}
}
3、开发登陆系统,含登录页面、成功页面、失败页面以及后台验证的Servlet,并将该系统部署到TomCat容器中运行;
(1)Longin.java
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/Hello")
public class Login extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name=request.getParameter("account");
String password1=request.getParameter("passwprd");
if(name.equals("zhai")&&password1.equals("990808"))
{
response.sendRedirect("success.jsp");
} else
{
response.sendRedirect("fail.jsp");
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
(2)login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
登录系统
<form action="/Hello" method="post">
用户名:<input name="account" type="text"><br>
密 码:<input name="password" type="password"><br>
<input type="submit" value="登录">
</form>
</body>
</html>
登录界面:
当输入错误信息时:
当输入正确信息时: