1.配置环境,从tomcat的lib下面引入servlet-api.jar包。
2.创建servlet
方法一,通过继承servlet接口
package com.test; import javax.servlet.*; import java.io.*; public class Login implements Servlet{ //销毁servlet实例,释放内存,在以下情况被调用:关闭应用,重启,关机才被调用 public void destroy() { System.out.println("destroy"); //检验 } //得到servlet的配置文件 public ServletConfig getServletConfig() { return null; } public String getServletInfo() { return null; } // 用于初始化servlet(类似于类的构造函数),只会被调用一次(用户第一次访问该servlet时被调用) public void init(ServletConfig arg0) throws ServletException { System.out.println("init"); //检验 } //用于处理业务逻辑,每次访问该servlet都会被调用 public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { System.out.println("service"); //检验 PrintWriter pw=res.getWriter(); pw.println("hello world!!!"); } }
3.部署
配置xml文件
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- 需要添加的代码 --> <servlet> <!-- 给你的servlet取名,任意的--> <servlet-name>hello</servlet-name> <!-- 指明servlet的路径,包名.类名 --> <servlet-class>com.test.login</servlet-class> </servlet> <servlet-mapping> <servlet-name>hello</servlet-name> <!-- 访问servlet的URL,任意的--> <url-pattern>/login</url-pattern> </servlet-mapping> </web-app>
在浏览器中输入http://IP:port/项目名/login,即可访问,(一般情况下是项目名,当然也可以在tomcat的webapps下改掉项目的名字)
方法二,通过继承GenericServlet实现
package com.test; import javax.servlet.*; import javax.servlet.GenericServlet; import java.io.*; public class Login extends GenericServlet{ //重写service方法即可 public void service (ServletRequest re,ServletResponse res){ try { PrintWriter pw=res.getWriter(); pw.println("Hello Generic"); } catch (Exception e) { e.printStackTrace(); } } }
方法三,通过继承HttpServlet
表单提交数据get和post的区别:
1.从安全性看:get<post;get提交的数据会在地址栏上显示
2.从提交内容看:get<post;get提交的数据不能大于2K,而post不受限制,不过建议不要大于64K
3.从相应速度来看:get>post,get要求服务器立即处理请求,而post可能形成队列请求。
综合来说,建议使用post
package com.test; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class Login extends HttpServlet{ //处理get请求 public void doGet(HttpServletRequest re,HttpServletResponse rs){ try { PrintWriter pw=rs.getWriter(); pw.println("hello,HttpServlet"); } catch (Exception e) { e.printStackTrace(); } } //处理post请求 public void doPost(HttpServletRequest re,HttpServletResponse rs){ this.doGet(re, rs); } }