开发环境:  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. 【五】强化学习之Sarsa、Qlearing详细讲解----PaddlePaddlle【PARL】框架{飞桨}

    相关文章: [一]飞桨paddle[GPU.CPU]安装以及环境配置+python入门教学 [二]-Parl基础命令 [三]-Notebook.&pdb.ipdb 调试 [四]-强化学习入门简 ...

  2. 多智能体强化学习算法【二】【MADDPG、QMIX、MAPPO】

    相关文章: 常见多智能体强化学习仿真环境介绍[一]{推荐收藏,真的牛} 多智能体强化学习算法[一][MAPPO.MADDPG.QMIX] 多智能体强化学习算法[二][MADDPG.QMIX.MAPPO ...

  3. 使用私有gitlab搭建gitbook持续集成

    目录 环境搭建 1. 安装 Node.js 2. 安装 gitbook 3. 安装 Gitlab Runner 4. 注册Runner gitbook 配置 1. 目录结构 2. 命令行 3. 插件 ...

  4. 教你用JavaScript随机生成密码

    案例介绍 欢迎来到我的小院,我是霍大侠,恭喜你今天又要进步一点点了!我们来用JavaScript编程实战案例,做一个随机密码生成器.用户点击生成,输入框内就会生成一个由数字.大小写字母.特殊符号随机组 ...

  5. 看New Bing回答世纪难题:女友和妈妈掉水里先救谁

    1.女友和妈妈掉水里先救谁 今天好奇想看看New Bing怎么回答这种世纪难题 结果New Bing非常聪明,反手建议我不要直接回答这个问题,而是换个角度哄女朋友,带着点不甘心,我继续追问它 New ...

  6. MySQL 8 查询优化新工具 Explain Analyze

    1. Explain Analyze 介绍 Explain 是我们常用的查询分析工具,可以对查询语句的执行方式进行评估,给出很多有用的线索.但他仅仅是评估,不是实际的执行情况,比如结果中的 rows, ...

  7. ABC 305

    题目列表 前三题过水,第四题分类讨论两个端点之间的距离和所在位置是清醒或睡眠 即可. E 题意:一张图上有一些结点有保安,每个保安有不同的警戒度 \(h_i\),定义 一个结点是安全的 为这个结点可以 ...

  8. NC24416 [USACO 2013 Nov G]No Change

    题目链接 题目 题目描述 Farmer John is at the market to purchase supplies for his farm. He has in his pocket K ...

  9. 从零开始手写 mybatis(一)MVP 版本

    什么是 MyBatis ? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射. MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集. MyB ...

  10. 使用BP神经网络实现函数逼近

    1 一元函数逼近 1.1 待逼近函数 1.2 代码 clear,clc p=[-4:0.1:4]; %神经网络输入值 t=sin(0.5*pi*p)+sin(pi*p); %神经网络目标值 n=15; ...