【个人笔记2】Java Web

接着上一个博客,有几个小问题需要解决一下

1.没有Tomcat自带的lib

在这里插入图片描述

解决方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
应用,ok,问题解决

2. 出现乱码的现象

在idea中Tomcat启动出现乱码问题
照着做就完事

3.无法访问localhost:8080

idea中tomcat启动但是访问不了localhost:8080页面
在csdn真是太幸福了,前人种树后人乘凉










Tomcat 和网页的简单交互

学习视频:https://www.bilibili.com/video/BV1BJ411L7NR?p=2

1.现在src目录底下建立文件夹,并在里面建立一个java class类

在这里插入图片描述

2.在test里插入implements Servlet

package fun.btcs.MyServlet;

import javax.servlet.Servlet;

public class test implements Servlet {
}

插入后IDEA会提示有问题,点小灯泡然后选第一个
在这里插入图片描述
在这里插入图片描述
接下来代码变成了这样

package fun.btcs.MyServlet;

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

public class test implements Servlet {
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        
    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {

    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {

    }
}

init——创建
service——运行
destroy——删除

接下来在service里写一条文本(我是服务端,我已经接受到了客户端的请求)

 @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("我是服务端,我已经接收到了客户端的请求");

但是做完这一步并不能看到这一条文本。首先要搞清楚
在这里插入图片描述
这里的东西相当于本地的文件,还没有被打包的,最终客户端看到的所有的数据都是经过打包后的,在out文件夹底下(下面test用MyServlet代替)
在这里插入图片描述
在tomcat_war_exploded底下的文件是不能被客户端所访问到的,所以我们需要做一个映射,在web文件夹底下的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">

    <servlet>
        <servlet-name>MyServlet</servlet-name>
        <servlet-class>fun.btcs.MyServlet.MyServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/MyServlet</url-pattern>
    </servlet-mapping>
</web-app>

看着很绕,其实不然
在这里插入图片描述
看做4条代码互相关联

  1. 写需要映射的文件名称
  2. 写需要映射的文件地址
  3. 抄1
  4. 写在客户端访问时的地址
    只要遵守1和3 一样,24就会关联

下面我们访问http://localhost:8080/MyServlet
在这里插入图片描述
虽然网页上空白,但是我们服务端收到了请求

还是在server里添加

servletResponse.getWriter().write("hello world");

再次访问
在这里插入图片描述
好了,这下就完成了一次基本的交互,客户端发送请求,服务端接受数据。网页大多都是这样子的交互java web真简单

客户端发送数据,客户端接收是怎么玩的呢

还是在server里面写

        String id = servletRequest.getParameter("id");
        System.out.println("我是servlet,我已经接收到了客户端发送的请求" + id);
        servletResponse.getWriter().write("hello world");

好了,在网页端,网址后打上?id=1
在这里插入图片描述

服务端也收到了客户端发送的1。交互完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值