首页 > 其他分享 >从0开始搭建开发环境 -实现servlet原生开发

从0开始搭建开发环境 -实现servlet原生开发

时间:2023-07-17 14:56:49浏览次数:42  
标签:原生 www cnblogs servlet manage html 开发 https com

开发环境:  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开发中遇到的各种问题,以及如何解决这些问题的过程。

标签:原生,www,cnblogs,servlet,manage,html,开发,https,com
From: https://www.cnblogs.com/yilangcode/p/17560102.html

相关文章

  • IntelliJ IDEA 永久开发工具下载安装详细教程
    简介IDEA全称IntelliJIDEA,是java编程语言的集成开发环境。IntelliJ在业界被公认为最好的Java开发工具下载安装►官网地址:https://www.jetbrains.com/idea►快速下载(官方安装包等工具)IDEA有两个版本,一个是Ultimate(旗舰版)一个是Community(社区版),旗舰版可以免费试用......
  • 直播app开发搭建,JS生成随机数,生成指定位数的随机数
    直播app开发搭建,JS生成随机数,生成指定位数的随机数//获取随机数,小数第一位可能为0console.log(Math.random()); //获取10位随机数,如果小数第一位为0则只有9位数console.log(Math.floor(Math.random()*Math.pow(10,10))); //随机数+1,解决小数第一位为0的情况//但是会导致随机......
  • RESTful快速开发
        ......
  • 搭建远程开发环境@Win11+OpenWrt+Vscode+WSL2+Ubuntu22.04
    Pre之前618从pdd上买了配件,第一次尝试自己组装了电脑,本意是作为炼丹炉,不过毕竟是自己的电脑不像服务器可以一天到晚打黑工,还是用来开发就好,测测代码跑跑ai。没显示器——远程连接(后来还是买了,而且今天才发现买的那款大降价,唉),没键鼠——远程连接,没网络——二手路由刷openwrt去中......
  • 前端开发中FormData使用方法说明
    **FormData的主要用途有两个:**1、将form表单元素的name与value进行组合,实现表单数据的序列化,从而减少表单元素的拼接,提高工作效率。2、异步上传文件**一、创建formData对象****1、创建一个空对象:**//通过FormData构造函数创建一个空对象varformdata=newFormData();//可以......
  • DM8达梦数据库版本区别:开发版、标准版、企业版、安全版
    DM8达梦数据库版本区别:开发版、标准版、企业版、安全版达梦2021-01-196435根据不同的应用需求与配置,DM提供了多种不同的产品系列:DM开发版DM开发版是指用于业务场景开发时所用的数据库,除不支持数据库集群等企业级功能,开发版提供了完整的功能,支持TB级数据量,支......
  • IOS开发-OC UINavigationController使用
    1.什么是UINavigationControllerUINavigationController是iOS中的一个重要的导航控制器类,它可以用来管理页面之间的导航跳转。UINavigationController的主要特征包括:-管理导航栈(navigationstack),实现页面的推入和弹出。-包含一个navigationbar,显示导航项和标题。-可......
  • Android 网络游戏开发入门简单示例
    在Android系统上开发是Android开发学习者所向往的,有成就感也有乐趣,还能取得经济上的报酬。那怎样开发Android网络游戏攻略呢?下面介绍一个简单的入门实例。一、创建新工程首先,我们在Eclipse中新建一个名为Movement的工程,并且选择合适的AndroidSDK,在这里,我们选用的API是比较......
  • 详解C#开发Android应用程序的流程
    Android系统一下子铺天盖地而来,让人目不暇接。兴奋的同时也让部分开发人员犯难了!要知道从熟知的Wince、Mobile开发语言C#跨越到RFID-Android的Java。可不是一朝一夕就能完成的。就好比你的乾坤大挪移已经第七层了,却忽然要你从易筋经从头练起,真是愁煞人也!难道微软的开发环境和谷歌......
  • IOS开发-实现图片缓存优化性能
    在Objective-C中,可以这么实现图片的本地缓存:1.创建一个用于存储图片的缓存文件夹;2.根据图片URL构建缓存文件名;3.检查缓存路径是否存在,如果存在直接读取缓存图片;4.不存在则从网络下载图片;5.保存图片到缓存,以名称cacheFilename;6.以后再加载同一个URL的图片,就直接从......