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>

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 }



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

搜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 }
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>
web默认走的是webapp下的index,jsp,现在自己加一个HTML。



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

请求我们自己写的HelloServlet
首先解决网页中文乱码问题,设置下编码方式:response.setCharacterEncoding("utf-8");



浙公网安备 33010602011771号