一 .什么是servlet?
1.servlet是一个Java程序,运行在服务端servlet容器中;
2.servlet容器是web服务器的组成部分
3.Tomcat是一个web服务中间件
二.servlet作用:
1.接受客户端请求request
2.响应服务端数据response
三.创建Servlet?
1.定义类继承HttpServlet
2.实现doGet和doPost方法
3.web.xml中注册servlet
四.servlet生命周期
构造方法
init
doGet(访问servlet时才运行。)
doPost(访问servlet时才运行。)
destory
注:servlet默认在第一次访问实例化,load-on-startup标签使当前servlet在tomcat服务器
启动时启动该servlet
重点记住:servlet是由Servlet容器负责实例化,不能new
<load-on-startup>2</load-on-startup>tomcat服务器启动时实例化Servlet
其中的数字代表第几个启动的servlet,只要添加了这行代码,就一定要启动。
五.注册MyServlet
<servlet>
<servlet-name></servlet-name>路径名
<servlet-class>com.wisezone.usermanager.servlet.MyServlet</servlet-class>Servlet类的路径
<load-on-startup>1</load-on-startup>tomcat服务器启动时实例化Servlet
</servlet>
六.初始化参数<init-param>
<param-name>username</param-name>
<param-value>admin</param-value>
</init-param>
七.Servlet映射
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/myservlet.servlet</url-pattern>
</servlet-mapping>
八.接受from表单提交参数
value=request.getParameter("name");
九.服务端响应数据给客户端
PrintWriter pw=response.getWriter();
pw.println("响应消息");
十.乱码问题
接受参数乱码
Get请求 tomcat8以下版本 默认iso-8859
Post请求 : 接收参数 request.setCharacterEncoding("utf-8");//设置请求乱码
响应乱码 : response.setContentType("text/html;charset=utf-8");//设置响应编码
response.setCharacterEncoding("utf-8");//设置响应乱码
十一.实现页面跳转
重定向 sendReadirect 发起两次请求 response.sendRedirect("success.html")//重定向 地址变化两次。
http://localhost:8080/login.servlet
http://localhost:8080/success.html
转发 forward 发起一次请求
request.getRequestDispatcher("success.html").forward(request,response);//转发 地址变化一次
http://localhost:8080/success.html