美文网首页
Tomcat + Servlet + JDBC 理解

Tomcat + Servlet + JDBC 理解

作者: 嘉斯顿特杨 | 来源:发表于2018-11-01 01:09 被阅读0次

     几乎所有web入门用的编程例子都是login web app,这里记录一下自己的学习心得,讲几个概念关键点以及部署在intellij idea上的一些坑。

    login.html 上面,用form提交,

    login.html

    action 是什么不重要,可以是任意一个虚拟目录(好像是这样叫?),这个地址只是用于对应配置文件 web.xml 中。

    web.xml

    每个servlet 都会有一个对应的 mapping,与映射间的连接就通过servlet-name,html中的 action 就是对应 mapping 里面的 url-pattern, servlet name可以是任意的,只不过是用于联系这两个tag。servlet tag 中的 servlet-class,才是处理 request 的源码,一般都在src下面,webserv是package,LoginServlet是文件名。

    通过 action -> url-pattern -> servlet-name -> servlet-class 这个逻辑,就知道一个request是怎么一步步送到 servlet 手上了。

    最大的坑不是写代码,是连接JDBC。 stackoverflow 上面的解决方法我都用过,即使在project structure上导入mysql connector的jar包,还是会报 ClassNotFoundException. 真的找了超久,一顿尝试,最后我尝试着把 jar 包放在web项目目录和tomcat目录上,最后发现前者是正解。(如果放在/opt/apache../lib 上面,终端上ls显示jar是红色的,就不正常)。

    直观一点,项目目录是这样的:

    project structure

    其实现在 JSP 已经过时,但是学习的过程上还是免不了要触碰,JSP是把前后端的都戏给揉一块,那么怎么不用他也能做出动态web呢?web 开发 前后端解耦的全貌,这篇文章是我见过最好的:

    https://blog.csdn.net/piantoutongyang/article/details/50878214

    这里引用扫除我心中疑虑的一段,因为我也找了好久,用java做后端而不用JSP的方法:

    以前老的方式是:                                                                                                                                 

    1.客户端请求    

    2.服务端的servlet或controller接收请求(路由规则由后端制定,整个项目开发的权重大部分在后端)

    3.调用service,dao代码完成业务逻辑                                                                    

    4.返回jsp                                                                                                                                         

    5.jsp展现一些动态的代码

    新的方式是:                                                                                                                                       

    1.浏览器发送请求                                                                                                                                 

    2.直接到达html页面(路由规则由前端制定,整个项目开发的权重前移)                                     

    3.html页面负责调用服务端接口产生数据(通过ajax等等,后台返回json格式数据)                         

    4.  填充html,展现动态效果,在页面上进行解析并操作DOM。 

    大量并发浏览器请求--->web服务器集群(nginx)--->应用服务器集群(tomcat)--->文件/数据库/缓存/消息队列服务器集群

    然后,你知道要学什么了。

    相关文章

      网友评论

          本文标题:Tomcat + Servlet + JDBC 理解

          本文链接:https://www.haomeiwen.com/subject/ibzatqtx.html