Servlet
Servlet
6.1 Servlet简介
-
Servlet就是动态Web的一门技术
-
如果向开发一个web程序,只需完成两个步骤
1.编写好一个类,实现Servlet接口
2.把开发好的Java类,部署到web服务器中
把实现了Servlet接口的Java程序,叫Servlet
6.2 HelloServlet
1.构建一个普通maven项目javaweb-test,删去src目录,并建立Moudel子工程servlet-01
2.关于maven父子工程
父项目pom:
<modules>
<module>servlet-01</module>
</modules>
子项目pom:
<parent>
<artifactId>javaweb-test</artifactId>
<groupId>com.kuang</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
3.maven环境优化
将子项目web.xml内容换成tomcat中的xml,
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0"
metadata-complete="true">
</web-app>
父工程jar包
<!-- 导入jar坐标 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
4.编写一个Servlet程序
- 编写一个普通类
- 实现servlet接口,这里我们直接继承HttpServlet
//com.kuang.servlet.HelloServlet.java
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse response) throws ServletException, IOException {
//super.doGet(req, response);
response.setCharacterEncoding("utf-8");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Hello World!</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Hello 狂神 World!</h1>");
out.println("</body>");
out.println("</html>");
}
5.编写servlet映射
<!-- 注册sevlert-->
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.kuang.servlet.HelloServlet</servlet-class>
</servlet>
<!-- 配置页面请求路径-->
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>>
</servlet-mapping>
6.配置tomcat服务器
注意:配置项目发布的路径
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理