从0开始搭建开发环境 -实现servlet原生开发
开发环境: 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原生开发的更多相关文章
- Linux开发环境必备十大开发工具
Linux是一个优秀的开发环境,但是如果没有好的开发工具作为武器,这个环境给你带来的好处就会大打折扣.幸运的是,有很多好用的Linux和开源开发工具供你选择,如果你是一个新手,你可能不知道有哪些工具可 ...
- Android五天乐(第一天)开发环境的部署,开发流程与调试
由于项目要求參与无线端开发,本着技多不压身的指导精神,决定依旧从web转攻client! 由于之前自己玩过两个月android(实际上仅仅是做了两个有失水准的demo级app),本来以为这次再来学习将 ...
- 64位CentOS 6.0下搭建LAMP环境
系统环境:Centos6.0 x64 1.确认搭建LAMP所需要的环境是否已经安装 [root@centos6 ~]# rpm -q make gcc gcc-c++ zlib-devel libai ...
- kali 2.0下搭建DVWA环境
DVWA (Dam Vulnerable Web Application)DVWA是用PHP+Mysql编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序.包含了SQL注入.XSS.盲注等常 ...
- 1,下载和部署开发环境--AutoCAD二次开发
环境需求为: AutoCAD 2020版 ObjectARX SDK 下载地址:https://www.autodesk.com/developer-network/platform-technolo ...
- Eclips+ADT+SDK构建android开发环境及android自动化测试开发环境
一. 需要用到的包: 1.adt-bundle-windows-x86_64-20140702.zip+JDK+ant 2.ant下载地址:http://ant.apache.org/bindownl ...
- 配置Qt开发环境下的OpenCV开发
1.使用CMake工具(http://www.cmak.org),选择MinGW Makefile. *一定要注意编译的版本要与Qt的mingw32的版本相同.否则容易出现undefined refe ...
- 【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 ...
- Apache Spark1.1.0部署与开发环境搭建
Spark是Apache公司推出的一种基于Hadoop Distributed File System(HDFS)的并行计算架构.与MapReduce不同,Spark并不局限于编写map和reduce ...
- Android开发学习总结(一)——搭建最新版本的Android开发环境
Android开发学习总结(一)——搭建最新版本的Android开发环境(转) 最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是 ...
随机推荐
- Python 字符串与字节数组转换
整数之间的进制转换: 10进制转16进制: hex(16) ==> 0x10 16进制转10进制: int('0x10', 16) ==> 16 类似的还有oct(), bin() 字符串 ...
- 在K8S中,节点故障驱逐pod过程时间怎么定义?
在Kubernetes中,节点故障驱逐Pod的过程涉及多个参数和组件的相互作用.以下是该过程的简要概述: 默认设置:在默认配置下,节点故障时,工作负载的调度周期约为6分钟. 关键参数: node-mo ...
- 目录:CH57x/CH58x/CH59x/CH32V208低功耗蓝牙应用
外设相关: CH59x 系统16位PWM使用 - 小舟从此逝_1 - 博客园 (cnblogs.com) CH59X/CH58X/CH57X PWM使用 - 小舟从此逝_1 - 博客园 (cnblog ...
- (C语言)我的第一个项目:命令行窗口下的学生成绩管理系统,及数据生成程序
学生成绩管理系统 页面效果如图: 代码如下: #include <stdio.h> #include <stdlib.h> #include <string.h> ...
- IntelliJ IDEA 在电脑上安装多个JDK 切换的方法
在电脑上来回切换多个版本的JDK进行开发,方法很简单: 1.下载jdk 下载的时候不要下载安装包,而是下载zip包,这样直接解压就可,不污染注册表,难引起其他问题 2.解压后 把JDK配置到IDEA里 ...
- NC19777 卡牌游戏
题目链接 题目 题目描述 小贝喜欢玩卡牌游戏.某个游戏体系中共有N种卡牌,其中M种是稀有的.小贝每次和电脑对决获胜之后都会有一个抽卡机会,这时系统会随机从N种卡中选择一张给小贝.普通卡可能多次出现,而 ...
- NC50505 二叉苹果树
题目链接 题目 题目描述 有一棵二叉苹果树,如果数字有分叉,一定是分两叉,即没有只有一个儿子的节点.这棵树共N个节点,标号1至N,树根编号一定为1. 我们用一根树枝两端连接的节点编号描述一根树枝的位置 ...
- MutationObserver对象
MutationObserver对象 MutationObserver (W3C DOM4)对象提供了监视对DOM树所做更改的能力,其被设计为旧的Mutation Events功能的替代品(该功能是D ...
- Laravel入坑指南(6)——Redis缓存
写在前面: Redis是常用nosql服务之一,在Redis官网上最新的稳定版本是6.0.6.这里不讨论Redis服务如何编译,如何使用.在Redis官网有很健全的文档. 这里要讨论的是无论在cent ...
- SpringCloud SpringBoot 组件使用:使用Nacos作为服务的注册中心和配置中心
基础篇 一.什么是Nacos? 官方介绍是这样的: Nacos 致力于帮助您发现.配置和管理微服务.Nacos 提供了一组简单易用的特性集,帮助您实现动态服务发现.服务配置管理.服务及流量管理. Na ...