ServLet前期知识预览

ServLet

1、 创建项目,改xml文件为新版本

1、创建项目

  

 

2、改写.xml文件(src->main->webapp->WEB-INF->web.xml)

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 
 3 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
 4          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 5          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
 6                       http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
 7          version="4.0"
 8          metadata-complete="true">
 9 
10 </web-app>
View Code

2、 创建java和resources文件夹

 

3、 创建class

 

4、 仿照E:\Tomcat9.0.31\apache-tomcat-9.0.31\webapps\examples中的案例,写自己的

  

5、先去本地仓库寻找依赖(Alt+回车),如果本地仓库没有,就去d

 1 import java.io.*;
 2 import javax.servlet.*;
 3 import javax.servlet.http.*;
 4 
 5 public class HelloWorld extends HttpServlet {
 6 
 7     public void doGet(HttpServletRequest request, HttpServletResponse response)
 8     throws IOException, ServletException
 9     {
10         response.setContentType("text/html");
11         PrintWriter out = response.getWriter();
12         out.println("<html>");
13         out.println("<head>");
14         out.println("<title>Hello World!</title>");
15         out.println("</head>");
16         out.println("<body>");
17         out.println("<h1>Hello World!</h1>");
18         out.println("</body>");
19         out.println("</html>");
20     }
21 }
View Code

6、Maven仓库的使用(不是本地仓库,而是网上的)

地址:https://mvnrepository.com/

搜HttpServlet

搜出来的东西不符合,再去看仿写的代码的import的文件

分析:Tomcat能运行,说明Tomcat中可能有支持Servlet的jar包,就去Tomcat的lib中,大胆的猜测哪个是

 复制这个名字,再去Maven网上仓库查

7、把复制的dependecy复制到pom.xml文件中(所有的项目依赖dependency,都放在这里)

注意作用域问题:删掉一行代码

8、狂神视频也没找到全部导这个servlet包的方法,直接用了全路径


9、重写doGet方法

 1 import javax.servlet.ServletException;
 2 import javax.servlet.http.HttpServletRequest;
 3 import javax.servlet.http.HttpServletResponse;
 4 import java.io.IOException;
 5 import java.io.PrintWriter;
 6 
 7 public class HelloServlet extends javax.servlet.http.HttpServlet {
 8     @Override
 9     protected void doGet(HttpServletRequest req, HttpServletResponse response) throws ServletException, IOException {
10         super.doGet(req, response);
11         //响应的设置类型:html
12         response.setContentType("text/html");
13         //获取响应的输出流,这就是响应,输出到网页
14         PrintWriter out = response.getWriter();
15         out.println("<html>");
16         out.println("<head>");
17         out.println("<title>Hello World!</title>");
18         out.println("</head>");
19         out.println("<body>");
20         out.println("<h1>Hello World!</h1>");
21         out.println("</body>");
22         out.println("</html>");
23     }
24 }
View Code

10、去web.xml中配置web的核心应用,并注册servlet

先更新下之前HelloServlet的存放位置,开始是放在了java下,现在要加一级目录

  

   

配置和注册(在web,xml中)

 

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
 5                       http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
 6          version="4.0"
 7          metadata-complete="true">
 8     <!--web.xml中配置web的核心应用-->
 9     <!--注册Servlet-->
10     <!--一个是servlet;另一个是servlet-mapping-->
11     <servlet>
12         <servlet-name>helloServlet</servlet-name>
13         <servlet-class>com.wang.HelloServlet</servlet-class>
14     </servlet>
15     <!--一个Servlet对应一个Mapping:映射-->
16     <servlet-mapping>
17         <servlet-name> helloServlet</servlet-name>
18         <!--请求路径-->
19         <url-pattern>/kuangshen</url-pattern>
20     </servlet-mapping>
21 
22 </web-app>
View Code

web默认走的是webapp下的index,jsp,现在自己加一个HTML。

  

  

希望输出自己写的header.html静态网页,方法如下:

请求我们自己写的HelloServlet

首先解决网页中文乱码问题,设置下编码方式:response.setCharacterEncoding("utf-8");

 

posted @ 2020-03-23 12:36  WZ_BeiHang  阅读(171)  评论(0)    收藏  举报