javaWeb21/10/28
Servlet
Servlet简介
1.Servlet就是sun公司开发动态web的一门技术,Sun公司在这些API中提供一个接口叫做:Servlet,把实现了Servlet接口的java程序叫做Servlet
2.开发Servlet程序
1)编写一个类,实现Servlet接口
2)把开发好的java类部署到web服务器中
HelloServlet
1.构建一个普通的Maven项目,删除里面的src目录,以后就在这个项目里建立Moudel,这个空的工程就是Maven主工程
2.可以在主工程下创建多个子工程
3.添加servlet和servlet.jsp依赖
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.3</version>
<scope>provided</scope>
</dependency>
</dependencies>
4.在普通的maven项目下建立maven_webapp子模块:新建->新模块->Maven->勾选webapp
- 建立子模块,会在父项目中的pom中多一个module
<modules>
<module>javaweb_servlet01</module>
</modules>
- 子项目中出现parent
<parent>
<artifactId>untitled</artifactId>
<groupId>org.example</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
- 父项目中的jar包,子项目也能使用
5.Maven环境优化
- 修改web.xml为最新的
- 将Maven的结构搭建完整,在main下补全子模块的java和resource目录
6.编写一个servlet程序
- 编写一个普通类
- 该类实现Servlet接口,或继承HttpServlet。GenericServlet(是Servlet的两个默认的实现类)
出现问题:导入了servlet依赖仍然无法继承HttpServlet
解决方法:点击项目结构->点击依赖-> + ->从库中选择服务器点击并应用
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter p = resp.getWriter();
p.print("Hello Servlet");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req,resp);
}
}
6.编写Servlet映射
- 编写映射的原因:我们写的是JAVA程序,但是要通过浏览器访问,而浏览器需要连接web服务器,所以我们需要在web服务器中注册我们写的Servlet,还需要给他一个浏览器能够访问的路径
<!--注册Servlet-->
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.wenping.servlet.HelloServlet</servlet-class>
</servlet>
<!--Servlet的请求路径-->
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
7.配置Tomcat
8.启动测试

浙公网安备 33010602011771号