开发环境:  JDK1.8 + Servlet + Mysql

搭建项目

项目搭建参考博客

https://www.cnblogs.com/oyww-2027/p/15347137.html

File-->New-->Project

取一个项目名称:

刚创建的项目如下

包结构如下:

在web目录下创建lib目录和classes目录,并设置对应的路径。然后将对应的jar包拷贝到lib目录下。

https://blog.csdn.net/weixin_66108666/article/details/127480356

idae导入jar包后如何build path

https://www.cnblogs.com/ccxyyds/p/14904442.html

Servlet基础参考文章

https://www.wenjiangs.com/doc/skvia4eg

写好第一个servlet之后,配置web.xml文件如下

<servlet>

<servlet-name>htmlController</servlet-name>

<servlet-class>com.manage.car.controller.HtmlController</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>htmlController</servlet-name>

<url-pattern>*.html</url-pattern>

</servlet-mapping>

代码如下:

public class HtmlController extends HttpServlet {

@Override

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String url = request.getParameter("url");

System.out.println("代码执行到这里了!");

boolean result = StringUtils.strIsNullOrEnpty(url);

if(result){

ServletCommonReturn.resultMessage(request, response, "参数错误");

return;

}

RequestDispatcher dispatcher = request.getRequestDispatcher("/a.jsp");

dispatcher .forward(request, response);

super.doGet(request, response);

}

}

直接启动tomcat会报错,如下所示

点击index.jsp右键执行Run,就可以启动tomcat服务器。

手动配置的项目访问路径如下

然后访问地址 http://localhost:8080/car_manage/abc.html,结果如下

正确地返回错误信息如下

JDBC数据库连接工具类

https://www.cnblogs.com/czy-algorithm/p/15535635.html

JDBC配置文件读取不到,解决办法

https://blog.csdn.net/qq_43358873/article/details/108475318

https://www.cnblogs.com/hushuai1314/p/6842696.html

JDBC初始化报错

No suitable driver found for jdbc:mysql://127.0.0.1:3306/test

原因没有做这一步操作,Class.forName("com.mysql.jdbc.Driver");

设置数据库驱动报错

Unhandled exception type ClassNotFoundException

解决方法为

https://www.jianshu.com/p/6c4d30727500

java.sql.SQLException: Before start of result set

解决办法为

https://blog.51cto.com/u_15166912/2706020

使用like查询的时候报错,like里面不能使用 like ‘%?%’这种形式

java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).

解决办法如下

https://blog.51cto.com/u_15311900/3179834

post请求获取参数不能直接使用req.getParameter(“参数名”);

解决办法如下,将输入流转换为字符串:

https://blog.51cto.com/u_3631118/3119811

https://www.lidihuo.com/java/java-convert-inputstream-string.html

JDBC获取的时间只有年月日,没有时分秒,解决办法如下

https://developer.aliyun.com/article/1143714

项目读取不到jdbc数据库密码配置文件,解决办法如下

https://www.cnblogs.com/hahayixiao/p/14186350.html

解决静态资源不能访问的问题

https://www.cnblogs.com/javaxiaodoufu/p/7739953.html

解决CSS,js,png图片等静态资源访问不了的问题,需要在前面添加项目路径

https://blog.csdn.net/fn0723/article/details/85175498

好看的登录页面代码,如下

https://www.cnblogs.com/UniqueColor/p/6641299.html

ajax中设置contentType: "application/json"的作用

https://www.php.cn/faq/397343.html

遇到问题为 JSON.stringfy is not a function

解决办法为:

https://blog.csdn.net/qq_43412215/article/details/99643924

登录后,设置页面禁止倒退

https://www.cnblogs.com/webzwf/p/5714385.html

解决使用过滤器的时候,请求对象输入流只能使用一次的问题

https://www.cnblogs.com/JAYIT/p/10943155.html

https://www.cnblogs.com/yyhhblog/p/15728439.html

maven 出现错误 -source 1.5 中不支持 diamond 运算符

解决办法.

https://blog.51cto.com/u_15127610/4213440

Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project studentApartmentManage: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode) ->

解决办法.

https://blog.csdn.net/catalpadream/article/details/96698989

通过这种方法添加web.xml文件即可

删除数据库的报错

com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value: '939,938'

原因是类型不匹配

https://blog.csdn.net/lilin1408/article/details/107036860

EasyUi框架不好使用,修改为layui框架

数据提交时,建议使用div来搭建的表单,而不使用form表单,因为使用form表单提交,

整个页面的url都会发生改变,不便于控制。因此建议使用div来构建新增弹出框。

java.lang.IllegalStateException: 响应提交后无法调用sendError()

解决办法:

https://www.cnblogs.com/qingmuchuanqi48/p/12079402.html

http://localhost:8080/car_manage/addUser.do

http://localhost:8080/car_manage/addUser.do?userAccount=abc&userPassword=e10adc3949ba59abbe56e057f20f883e&userName=testUser&userGender=1

http://localhost:8080/car_manage/updateUser.do?userAccount=abc&userPassword=e10adc3949ba59abbe56e057f20f883e&userName=updateUser&userGender=1&userId=1

http://localhost:8080/car_manage/getUserById.do?userId=1

http://localhost:8080/car_manage/queryUser.do?pageNum=1&pageSize=10&userName=1

http://localhost:8080/car_manage/deleteUserById.do?userId=1

http://localhost:8080/car_manage/index.html

本篇博文主要介绍了在使用原生servlet开发中遇到的各种问题,以及如何解决这些问题的过程。

从0开始搭建开发环境 -实现servlet原生开发的更多相关文章

  1. Linux开发环境必备十大开发工具

    Linux是一个优秀的开发环境,但是如果没有好的开发工具作为武器,这个环境给你带来的好处就会大打折扣.幸运的是,有很多好用的Linux和开源开发工具供你选择,如果你是一个新手,你可能不知道有哪些工具可 ...

  2. Android五天乐(第一天)开发环境的部署,开发流程与调试

    由于项目要求參与无线端开发,本着技多不压身的指导精神,决定依旧从web转攻client! 由于之前自己玩过两个月android(实际上仅仅是做了两个有失水准的demo级app),本来以为这次再来学习将 ...

  3. 64位CentOS 6.0下搭建LAMP环境

    系统环境:Centos6.0 x64 1.确认搭建LAMP所需要的环境是否已经安装 [root@centos6 ~]# rpm -q make gcc gcc-c++ zlib-devel libai ...

  4. kali 2.0下搭建DVWA环境

    DVWA (Dam Vulnerable Web Application)DVWA是用PHP+Mysql编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序.包含了SQL注入.XSS.盲注等常 ...

  5. 1,下载和部署开发环境--AutoCAD二次开发

    环境需求为: AutoCAD 2020版 ObjectARX SDK 下载地址:https://www.autodesk.com/developer-network/platform-technolo ...

  6. Eclips+ADT+SDK构建android开发环境及android自动化测试开发环境

    一. 需要用到的包: 1.adt-bundle-windows-x86_64-20140702.zip+JDK+ant 2.ant下载地址:http://ant.apache.org/bindownl ...

  7. 配置Qt开发环境下的OpenCV开发

    1.使用CMake工具(http://www.cmak.org),选择MinGW Makefile. *一定要注意编译的版本要与Qt的mingw32的版本相同.否则容易出现undefined refe ...

  8. 【webpack结合React开发环境配置】React开发环境配置之Webpack结合Babel8.x版本安装的正确姿势(Webpack最新版4.x结合Babel8.x环境配置步骤)

    1. 安装cnpmnpm install -g cnpm --registry=https://registry.npm.taobao.org[使用淘宝镜像]2. 初始化package.json文件c ...

  9. Apache Spark1.1.0部署与开发环境搭建

    Spark是Apache公司推出的一种基于Hadoop Distributed File System(HDFS)的并行计算架构.与MapReduce不同,Spark并不局限于编写map和reduce ...

  10. Android开发学习总结(一)——搭建最新版本的Android开发环境

    Android开发学习总结(一)——搭建最新版本的Android开发环境(转) 最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是 ...

随机推荐

  1. 年末将至,Java 开发者必须了解的 16 个Java 顶级开源项目!

    年末将至,值得你关注的16个Java 开源项目! 本文已经收录自笔者开源的 JavaGuide: https://github.com/Snailclimb/JavaGuide ([Java学习+面试 ...

  2. python list 转二叉树 及遍历

    from __future__ import annotations from typing import Union from collections import deque class Tree ...

  3. 最新力作,爱来自rand函数

    AWCU47EF;D5F]ET[a8a9K6G5IRHB6RS\cD8YDC:AGN<Z@6ZI3ab8D3O3La7:Sc;5_B]BS5S6Q]baWGcTE94IX7cW=9F>BJ ...

  4. 利用Docker、云服务器、mongodb搭建自己的测试平台

    准备一个云服务器 购买一个云服务器,在阿里云,腾讯云上购买即可. 然后创建一个实例,安装Linux操作系统,我安装的是CentOS. 记住账号和密码,可以使用ssh远程登录即可.   搭建测试环境 D ...

  5. Git企业开发控制理论和实操-从入门到深入(二)|Git的基本操作

    前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助. 高质量博客汇总https://blog.cs ...

  6. HarmonyOS 开发入门(三)

    HarmonyOS 开发入门(三) 日常逼逼叨 在开发入门(一)和开发入门(二)中我们描述了 HarmonyOS 开发的语言ArKTs以及Ts简单的入门级语法操作以及开发环境的搭建,接下来我们进入第三 ...

  7. 案例:记录一则强制开库遭遇ORA-16433的处理过程

    客户的一套开发环境,大概了解到的背景是清理空间时redo被运维人员当作log误删除,一线同事先接手处理,过程中遇到问题升级到我这里继续分析. 接手后,数据库处于mount状态,之前恢复过程中已经做过r ...

  8. Java 中,byte 数据类型的取值范围为什么是 -128 - 127 ?其它数值类型 都雷同

    byte 的取值范围:-128 - 127 基本的数学计算方法,一个byte占8位,第一位为符号位,还有7位,7位能表示最大为:2^7 - 1 怎么来的呢:看如下数学计算 1111 111 = 2^0 ...

  9. 蔚来杯2022牛客暑期多校训练营2 GJK

    比赛链接 G 题解 知识点:思维. \(lds(p)\) 表示最小上升子序列分划数 (Dilworth 定理) \(lis(p)\cdot lds(p) \geq n \Rightarrow max ...

  10. MySQL 幻象行

    当同一个查询在不同的时间产生不同的行集时,就会出现所谓的幻像问题.例如,如果执行了两次SELECT,但是第二次返回了第一次没有返回的行,那么该行就是一个"幻象"行. 假设在表chi ...