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

发布时间 2023-07-17 14:53:16作者: 一只爱阅读的程序员

开发环境:  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

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