ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

第一个servlet的项目的搭建

2021-09-21 17:32:51  阅读:127  来源: 互联网

标签:java 第一个 println import 搭建 servlet javax out


第一个servlet的项目的搭建

先理解下访问web的过程:

image

前提:Tomcat服务器需要配置好,并且在idea的configurations中创建Tomcat的部署!

  1. 创建Maven项目中已经有的简单web框架,要先创建和配置好java和resource目录。
  2. 在pom.xml下导入servlet的依赖:
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>

    </dependency>
    <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>4.0.1</version>
    </dependency>
</dependencies>
  1. 修改webapp/WEB-INF/web.xml文件中的版本号,尽量与我们Tomcat根目录的webapps\ROOT中的版本号一致:
<?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>
  1. 在配置好的java文件中创建一个java文件,例如:com.chen.servlet.HelloServlet.class。
    注意点:需要继承HttpServlet类,然后创建两个Overrides Methods(doGet,doPost)。
    注意:可用来设置网站默认的字符编码:response.setCharacterEncoding("UTF-8")
package com.chen.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse response) throws ServletException, IOException {
        //响应的类型:html
        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>第一个servlet程序执行成功!</h1>");
        out.println("</body>");
        out.println("</html>");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doPost(req, resp);
    }
}

  1. 写完了java文件后,需要在web.xml文件中注册我们的类
    注意点:
  • 每一个servlet-name都需要一个servlet-mapping;
  • url-pattern:表示我们可以在搜素框中输入的内容而转到我们写的类中!
<?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.xml是配置我们web的核心应用-->
    <!--注册servlet-->
    <servlet>
        <servlet-name>helloServlet</servlet-name>
        <servlet-class>com.chen.servlet.HelloServlet</servlet-class>
    </servlet>
    <!--一个servlet对应一个Mapping:映射-->
    <servlet-mapping>
        <servlet-name>helloServlet</servlet-name>
        <!--请求路径-->
        <url-pattern>/chenjinshun</url-pattern>
    </servlet-mapping>
</web-app>
  1. 另外我们还可以写一个静态网页来对比,在webapp目录下创建一个header.html文件
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>我是cjs!</h1>
</body>
</html>
  1. 在idea里面开启Tomcat服务器,页面会直接跳转到index.jsp文件,然后我们在
    搜索框输入我们的header.html可以看到我们的静态网页!然后我们把header.html
    改为我们的url-pattern中的内容,就可以看到我们java类中的内容!

注意事项:

  • 我们在idea开启Tomcat服务时,要先把我们用bat文件开启的Tomcat服务器关闭,
    否则会显示端口号已经被占用的错误!
  • 创建静态网页的时候,要确保目录时跟index.jsp文件同级,否则无法找到文件!
  • 当我们的java文件需要输出中文时,记得设置字符编码!

标签:java,第一个,println,import,搭建,servlet,javax,out
来源: https://www.cnblogs.com/jinshun/p/15317034.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有