Servlet简介 平台无关的基于Java技术的web组件, 1.Servlet被编译为平台独立 的字节码,可以被动态地加载到支持Java技术的Web服务器中运行。 2.Servlet容器负责Servlet和客户的通信以及调用Servlet的方法,Servlet和客户的通信采用“请求/响应”的模式。 3.Servlet的功能: 1:接收用户请求的HTTP协议,解析。 HTTP协议,超文本传输协议 请求响应模型 2:返回一个http的响应协议。让浏览器再去解析。
Servlet容器 请求 ServletRequest 响应 ServletReaponse 开发一个servlet,有三种方法 实现javax.servlet.Servlet接口 继承javax.servlet.GenericServlet 继承javax.servlet.HttpServlet(推荐) 重点 在IDEA 上连接tomcat 在Settings里找到Build,Execution,Deployment 选Application Servers 添加服务器tomcat Server,找到tomcat的根目录选ok。 创建module,选javaEE 6 在下面选中Web Application 创建一个web工程 web下可以放页面 web-inf 下受保护的 1.实现Servlet接口 1,创建一个类 继承Servlet接口,重写里面的方法
public class HelloServlet implements Servlet{ //构造方法,第一次加载servlet的时候执行,执行一次 public HelloServlet() { System.out.println("fsfewfw"); } //初始化:第一次加载servlet的时候执行,执行一次 初始化 @Override public void init(ServletConfig servletConfig) throws ServletException { System.out.println("init方法执行了"); } //用于获取这个servlet在web.xml中的配置信息 @Override public ServletConfig getServletConfig() { return null; } //servlet方法,请求响应,每次请求都调用,实际用于获取用户请求和响应结果 @Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { System.out.println("servlet方法执行了。。。"); } //此方法 用于获取这个serlvet的名称 @Override public String getServletInfo() { return null; } //关闭的方法 @Override public void destroy() { System.out.println("关闭了"); } }2, 在web.xml中配置一个servlet 在web.xml中注册和映射servlet
<servlet> <!--注册名--> <servlet-name>hello</servlet-name> <!--servlet的源路径--> <servlet-class>com.hpe.servlet.HelloServlet</servlet-class> </servlet> <!--映射servlet--> <servlet-mapping> <!--与注册名一致--> <servlet-name>hello</servlet-name> <!--浏览器的访问路径 /:代表的是当前web应用的根目录:localhost:8080/servlet01--> <url-pattern>/hello</url-pattern> <!-- http://localhost:8080/hello--> </servlet-mapping>过程为:通过请求地址到web.xml中找servlet-mapping 匹配相应的访问路径,找到注册名根据相应的注册名找到相应的servlet。 里面有原地址,就成了 状态码, 500服务器错误 空指针 404 没有找到服务器