• SERVLET开发步骤
• 1.准备工作
• 安装Tomcat服务
将Tomcat/lib/servlet-api.jar拷贝至自己工程/WebContent/WEB-INFO/lib目录中
• 2.实施并且部署servlet
• 1.创建一个java类
• 2.继承Httpservle
• 父类的方法必须删除(不要问为什么,不删会报错)
• 3.重写这个类中的doget()方法
• 4.配置Servlet
• 1.在web.xml中
• 1.添加servle标签(顺序不能改变)
• 配置:servle-name子标签
• 配置:servle-class子标签(包名+类名)
• 2.添加servle-mapping标签
• 配置servle-name子标签(name名同配置servlet标签中name相同)
• 配置url-pattern子标签,指代前端页面访问的路径
• 路径必须以/开头
• 2.在创建的类外注解
• @webServlet(“/指向前端的路径名”)
• 5.发送接收数据(doget()方法)
• 1.B2S
• 在servlet的doget中,使用HttpservletRequset中的getParameter()方法获取前端发送过来的数据
• String username = req.getParameter(“username”);
• String pwd = req.getParameter(“password”);
• getParameter方法中的参数名应该与form表单中的控件中的参数名保持一致,这样拿到的内容就是这个input的控件中的内容
• 遇到一个特殊情况,不知道前端发送的内容里面有哪些name,我们可以用req.getParameterMap方法来实现这个过程,该方法可以帮助我们获得请求中的所有参数
• 2.S2B
• 在servlet的doget中,使用HttpservletResponse中的getWriter()方法使用这个流向前端发送数据
• PrintWriter pw = resp.getWriter();
• pw.println(username);
• pw.println(pwd);
• 向前端发送数据出现乱码情况的解决方案
• resp.setContentType(“text/html;charset=utf-8”);以这种形式解决中文乱码问题
• 返回一个HTML或者*(jsp)的界面
• 1.重定向
• 通过resp.sendRedirect(“重定向的路径”);
• 浏览器发送了两次请求,浏览器的地址栏会发生变化
• 2.转发
• 通过req.getRequestDispatcher(“转发的页面”).forward(req, resp);
• 浏览器发送一次请求,浏览器的地址栏不会发生变化,还是接口的位置(另一个请求是服务器发出的)
• 3.通过Servlet直接向浏览器发送一个页面,而这个页面是由servlet直接生成的
• 优点:生成的html页面可以动态的添加数据
缺点:代码太过于复杂
• 概念
• 轻量级
• lite
• let
• 3.servlet生命周期
• 1.构造方法
• 1.如果没有配置load-on-startup=1则用户访问的时候创建Servlet
• 2.如果配置了load-on-startup则用户启动服务器,立刻创建对象
• 3.这个过程只执行一次,意味着Servlet在服务器中,只存在一个对象
• 2.初始化方法init
• 1.如果配置了init-param,我们会在init方法执行完成后使用Servlet中的getInitParameter(String)这个方法,来加载一下全局的参数:比如数据库配置
• 2.其他特点同构造方法
• 3.service方法
• 1.每次请求都调用一次
• 2.负责处理具体请求的过程,不如决定使用doget还是dopost方法
• 4.destroy方法
• 1.容器进程,正常关闭时,调用
• 2.容器重新部署项目时,调用
• 3.容器手动强制中断时,不调用
• 4.调用后构造方法和init方法可以再次被调用,也就是说着个对象被销毁了,可以再次创建了