• servlet交互过程图详解,servlet的常见问题,创建web项目(一)


    目录

    一.B/S模式和C/S模式

    C/S:客户端服务器端结构模式

    B/S:浏览器服务器模结构模式

    B/S结构图:

    二.创建web项目

    三.举例说明Servlet执行流程图:

    ?四.Servlet项目中常见的问题

    一.当创建web项目时,没有勾选Java EE时,如何添加web

    ?二.在web文件中导入jar

    ?三.404

    设置默认路径方式一:

    ?设置默认路径方式二:

    四.405

    ?五.空指针和NumberFormatException

    六.500

    七.中文编码出错

    tomcat8之后:

    ?tomcat8之前:


    (使用jdk8版本尽量不要使用tomcat9及以上版本的tomcat,版本不匹配的问题)

    一.B/S模式和C/S模式

    C/S:客户端服务器端结构模式

    优点:充分利用客户端机器资源,减轻服务器负荷。(将一部分安全性不高的计算机存储任务安装在客户端,不需要将所有的计算和资源放在服务器上,减轻服务器的压力)

    缺点:占用客户端内存,需要安装升级,维护成本较高

    B/S:浏览器服务器模结构模式

    优点:所有数据全部部署在服务器上,安全性高,升级维护成本低。客户端不需要安装。

    缺点:服务器负荷重,需要服务器和客户端浏览器频繁交互,产生网络负荷。

    B/S结构图:

    二.创建web项目

    
    
    
        
        Title
    
    
    
    ID:
    姓名:
    balance:
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    package temp;
    
    
    import Dao.UserDaoImpl;
    import bean.User;
    import org.apache.commons.dbutils.ResultSetHandler;
    
    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.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.List;
    
    public class AddServlet extends HttpServlet {
        @Override
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            request.setCharacterEncoding("utf-8");
            String userId = request.getParameter("id");
            int id = Integer.parseInt(userId);
    
            String name = request.getParameter("username");
    
            String userBalance = request.getParameter("balance");
            double balance = Double.parseDouble(userBalance);
    
            System.out.println(id);
            System.out.println(name);
            System.out.println(balance);
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34

    三.举例说明Servlet执行流程图:

    四.Servlet项目中常见的问题

    一.当创建web项目时,没有勾选Java EE时,如何添加web

    二.在web文件中导入jar

    在web-inf中创建lib,其中的类库只能被改模块使用,其他模块不能使用

    如果已经在项目的目录下创建了lib:

    三.404

    访问路径不对,检查网址

    设置默认路径方式一:

    设置默认路径方式二:

    在xml配置文件设置以下内容:

    设置默认打开的页面名

    四.405

    405是值请求方法不支持:比如,method为post,但是servle没有实现doPost的方法,就会报405错误。

    解释405错误是如何报出来的

    五.空指针和NumberFormatException

    都是因为传入的参数为空导致

    六.500

    服务器内部错误,报这个错就难搞了,希望你没有,哈哈哈

    七.中文编码出错

    tomcat8之后:

    只针对post方法:request.setCharacterEncoding(“UTF-8”);

    放在第一行执行哦

    tomcat8之前:

    (1.如果是post传递方法:
    request.setCharacterEncoding(“UTF-8”);
    (2.如果是get传递方法
    1.先将数据转换成字节数组
    Stringname=request.getParameter(“name”);
    byte[]by=name.getBytes(“ISO-8859-1”);
    2.将字节数组按照设定的编码格式转成成字符串
    name=newString(by,“UTF-8”);

    先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    水牛社软件适合网络新手吗?说说我的看法
    产品经理常用软件汇总
    面向对象编程原则(03)——单一职责原则
    Linux下按键驱动实验
    msf辅助模块详细操作
    zookeeper最基础教程
    Spring之IOC
    [ Linux长征路第六篇 ] Linux使用git上传gitee三板斧
    不同网络请求框架之间的对比
    深入理解Kubernetes Pod调试
  • 原文地址:https://blog.csdn.net/qq_46416934/article/details/126114049