Servlet简介
- Servlet就是sun公司开发动他web的一门技术
- Sun公司在这些API中提供一个接口叫做:Servlet,如果你想开发一个Servle程序,只需要完成两个小步骤
1.编写一个类实现Servlet接口
2.把开发好的Java类部署到web服务器中 - 把实现了Servle接口的Java程序叫做,Servlet
HelloServlet
Servlet接口在Sun公司有两个实现的接口HttpServlet,GenericServlet
1.构建一个Maven项目,删掉里面的src目录,以后在这儿给项目里建立Moudel,这个空的工程就是Maven主工程;
2.关于Maven父子工程的理解;
父项目中会有
<modules>
<module>servlet-01</module>
</modules>
子项目中会有
<parent>
<artifactId>javaweb-02-Servlet</artifactId>
<groupId>come.kevin</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
父项目中的jar包子项目可以直接使用
但子项目中的jar包父项目不可以直接使用 相当于继承中父类和子类方法的调用
Maven环境优化
1.修改web.xml
2.将maven的结构搭建完整
编写一个Servlet程序
1.编写一个普通类
2.实现一个Servlet接口,这里直接继承HttpServlet
Servlet接口出现了ServletRequest和ServletResponse
public class HelloServlet extends HttpServlet {
//由于get或者post只是请求实现的不同的方式,可以相互调用,业务逻辑都一样
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//ServletOutputStream outputStream = resp.getOutputStream();
PrintWriter writer = resp.getWriter(); //响应流
writer.print("Hello,Servlet");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
编写Servlet的映射
为什么需要映射:我们写的是JAVA程序,但是要通过浏览器访问,浏览器需要连接web服务器,所以我们需要在web服务中注册我们写的Servlet,还需要给他一个浏览器能够访问的路径
<!--注册Servlt-->
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.kevin.servlet.HelloServlet</servlet-class>
</servlet>
<!--Servlet的请求路径-->
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
配置Tomcat
注意:配置项目发布的路径
启动测试
这是虚拟路径映射,s1可以理解为这个项目,默认去找index.jsp