博主
258
258
258
258
专辑

第二节 搭建javaweb项目实现页面显示hello,world

亮子 2023-11-11 13:39:10 6613 0 0 0

1、新建项目

图片alt

2、选择maven项目框架

图片alt

3、填写包名和项目名称

图片alt

4、确认项目信息

图片alt

5、创建成功后的项目架构

图片alt

6、使用tomcat目录中的web.xml文件替换项目中的web.xml文件

图片alt

  • web.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">

  <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>

</web-app>

7、添加servlet相关依赖

    <!--1.servlet-->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>4.0.0</version>
    </dependency>
    <!--2.jsp-->
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>javax.servlet.jsp-api</artifactId>
      <version>2.3.3</version>
    </dependency>
    <!--3.jstl-->
    <dependency>
      <groupId>javax.servlet.jsp.jstl</groupId>
      <artifactId>jstl-api</artifactId>
      <version>1.2</version>
    </dependency>
    <!--4.taglibs-->
    <dependency>
      <groupId>taglibs</groupId>
      <artifactId>standard</artifactId>
      <version>1.1.2</version>
    </dependency>
    <!--5.lombok-->
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.12</version>
    </dependency>

8、创建源码目录和资源目录

  • 右键main目录

图片alt

  • 选择java和resource目录

图片alt

  • 选中后回车

图片alt

9、添加过滤器过解决所有页面乱码问题

1)、编写过滤器的类

package com.shenmazong.servlet.filter;

import javax.servlet.*;
import java.io.IOException;

/**
 * 过滤所有页面、解决乱码问题
 */
public class EncodingFilter implements Filter {
    public EncodingFilter() {
        System.out.println("执行过滤器!");
    }

    public void init(FilterConfig filterConfig) throws ServletException {

    }

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException {
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=UTF-8");
        filterChain.doFilter(request, response);
    }

    public void destroy() {

    }
}

2)、修改web.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">

  <display-name>Welcome to Tomcat</display-name>
  <description>
    Welcome to Tomcat
  </description>

  <!--  解决页面乱码问题-->
  <filter>
    <filter-name>EncodingFilter</filter-name>
    <filter-class>com.shenmazong.servlet.filter.EncodingFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>EncodingFilter</filter-name>
    <url-pattern>/*</url-pattern><!--/*对所有请求和响应都过滤-->
  </filter-mapping>


</web-app>

10、编写hello页面的servlet

1)servlet代码

package com.shenmazong.servlet.servlet;

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

public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//        super.doGet(req, resp);
        ServletOutputStream outputStream = resp.getOutputStream();

        System.out.println("HelloServlet::doGet~~~~~~~~~~~");
        outputStream.println("Hello,world!!!");
    }

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

2)、在web.xml中注册servlet

  <!--  注册hello servlet页面-->
  <servlet>
    <servlet-name>hello</servlet-name>
    <servlet-class>com.shenmazong.servlet.servlet.HelloServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/hello</url-pattern>
  </servlet-mapping>

11、配置运行的tomcat

1)、点击Add Configuration

图片alt

2)、选择Tomcat Server的Local

图片alt

图片alt

3)、选择Deployment

图片alt

4)、选择Artifacts

图片alt

先点击Apply按钮,再点击OK按钮。

图片alt

图片alt

12、运行后访问页面

1)、运行服务

图片alt

2)、运行结果

图片alt

3)、访问页面

图片alt

到此为止,javaweb项目彻底运行成功了。