java web初学者遇到了他一生之敌的问题

问题遇到的现象和发生背景

自己用idea跑了一个小项目,工资管理系统。使用了maven和mybatis。但是一直无法从数据库获取数据。并且在提交人员信息后也传不到数据库里面去。显示找不到servlet。

用代码块功能插入代码,请勿粘贴截图
 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        //处理POST请求的乱码问题
        request.setCharacterEncoding("utf-8");

        //1. 接收表单提交的数据,封装为一个Reporter对象
        String name = request.getParameter("姓名");
        String idnum = request.getParameter("身份证号");
        String tel = request.getParameter("联系方式");
        String ms = request.getParameter("月稿费");
        String status = request.getParameter("状态");

        //封装为一个Reporter对象
        Reporter reporter = new Reporter();
        reporter.setName(name);
        reporter.setIdnum(idnum);
        reporter.setTel(tel);
        reporter.setMs(reporter.getMs());
        reporter.setStatus(Integer.parseInt(status));


        //2. 调用service 完成添加
        service.add(reporter);


        //3. 转发到查询所有Servlet
        request.getRequestDispatcher("/selectAllServlet").forward(request,response);
    }

运行结果及报错内容

img

img

img

img

img

我的解答思路和尝试过的方法

修改了servlet的路径也不行,改了一些mybatis xml也不行

我想要达到的结果

能从数据库里获取数据,能上传数据到数据库。

img

404肯定是url或路径哪里错了

img


路径中这个是目录吧 不是点。 改为 /

你jsp页面上的form的action写的servlet地址不正确啊,找不到

img

请问AddServlet定义了吗?使用springboot还是普通的web工程?把AddServlet.java和相关配置的代码贴一下

【使用mybatis时,一直获取不到数据】
思路:po类和数据库的字段不一致
【maven mybatis idea 连接数据库异常】
思路:更改驱动com.mysql.jdbc.Driver

实例参考,链接:https://blog.csdn.net/m0_46106931/article/details/123751411

路径没写对

你输入的地址中 /reporter-demo/src/main/java/lcrb.itheima/web/AddServlet 是包路径和类名,正确的应该改为 Controller 层的URI,并转跳到 前端地址URI
猜想是应该跳转到 新增页面吧?

HTTP状态404-未找到
状态报告
请求的资源[/reporter-demo/src/main/java/lcrb.itheima/web/AddServlet]不可用
源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。

WEBINF里的web.xml里要加上servlet的路径映射
类似这样

<servlet>
        <servlet-name>addServlet</servlet-name>
        <servlet-class>lcrb.itheima.web.AddServlet</servlet-class>
    </servlet>
    <!--指定Servlet的请求路径-->
    <servlet-mapping>
        <servlet-name>addServlet</servlet-name>
        <url-pattern>/addServlet</url-pattern>
    </servlet-mapping>

建议找一个安装的java servlet 项目对比一下两者代码的区别就能明白了。有可能是映射的路由地址不对

参考链接

maven项目开发——mybatis简化Java数据库连接_晓小邰的博客-CSDN博客 mybatis数据库连接。 https://blog.csdn.net/m0_59799878/article/details/125917387?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166729347416782395369634%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=166729347416782395369634&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-125917387-null-null.nonecase&utm_term=%E4%BD%BF%E7%94%A8%E4%BA%86maven%E5%92%8Cmybatis%E3%80%82%E4%BD%86%E6%98%AF%E4%B8%80%E7%9B%B4%E6%97%A0%E6%B3%95%E4%BB%8E%E6%95%B0%E6%8D%AE%E5%BA%93%E8%8E%B7%E5%8F%96%E6%95%B0%E6%8D%AE%E3%80%82%E5%B9%B6%E4%B8%94%E5%9C%A8%E6%8F%90%E4%BA%A4%E4%BA%BA%E5%91%98%E4%BF%A1%E6%81%AF%E5%90%8E%E4%B9%9F%E4%BC%A0%E4%B8%8D%E5%88%B0%E6%95%B0%E6%8D%AE%E5%BA%93%E9%87%8C%E9%9D%A2%E5%8E%BB%E3%80%82%E6%98%BE%E7%A4%BA%E6%89%BE%E4%B8%8D%E5%88%B0servlet%E3%80%82&spm=1018.2226.3001.4450

web下面 的addSerlvet贴出来看一下,要用controller层url进行访问