书城项目总结(随便写写)
作者:互联网
核心思想:JavaWeb的三层架构
web(网络层),service(服务层),dao(持久层)
具体的思想 :
1.善用继承。
若某些操作可能被多个类复用,则可声明baseClass,提供具体的操作。其他复用的类只需要继承此类,直接调用base中的方法,可减少工作量。
例如:在DAO层面,声明BaseDAO 提供增删改查操作,其他操作JavaBean的类只需要继承BaseDAO调用方法实现与数据库的交互即可
在web层,编写BaseServlet程序接收post或get请求,然后使用反射调用子类中的具体的方法。
2.使用接口定义规范。
面向接口编程(在本项目中并未有过多体现,但仍是重要的思想),在定义具体的类之前,先定义接口声明方法。再在具体的类中实现。
例如:xxxDAO ,xxxService.
3.不同的包实现不同的存放
DAO(直接操纵数据库) Service(过渡用户操作与数据库操作) Web(实现用户操作) Pojo(具体的JavaBean) Utils(工具类) Test(测试类)
具体的操作
Java
1.JDBC
-
数据库连接
-
Properties文件的配置
2.Servlet程序
servlet程序是java处理服务器请求与响应的程序,是一个接口。用户在浏览器点击某些绑定了servlet程序的按钮时,浏览器会将请求发送给服务器,请求中包含各种信息,然后优先搜索servlet程序并跳转到此。可以在servlet程序中使用request,response参数来获取浏览器中的信息。
request的常用方法
请求转发 :request.getRequestDispatcher(String).forward(requeset,response)
存数据到request域中:request.setAttribute(String,Object)
存数据到session域中:request.getSession().setAttribute(String,Object);
获取页面中的变量:request.getParameter(String)
获取工程路径:request.getContextPath()
response的常用方法
重定向:response.sendRedirct()
设置页面编码格式 ,解决服务器乱码:response.setContentType(“text/html;charset=UTF-8”)
3.Request Session域
request和session都可以作为map存储数据,其中request存储数据的生命周期为一次请求,重定向后数据消失。session的生命周期是一次会话,关闭浏览器内容消失。
4.反射
反射具有动态性,可以动态的获取信息和动态的调用方法
具体的知识参考别的文档,这里只说明反射在此项目中的使用
与泛型搭配使用,调用newInstance方法生成对象
5.静态代码块
静态代码块在类的加载过程中执行
优先级:静态代码块—非静态代码块—构造函数
也应用在jdbc手写获取连接中注册驱动。
6.web.xml的配置
目前只用于配置servlet程序,也可以配置filter过滤器,listener监听器
前端(没怎么自己写)
1.按钮
2.隐藏域
设置隐藏域可以向服务器传递参数
<input type=“hidden” name="" value=""传递参数
3.绑定单击事件
4.href 不需要/
JSP
1.EL表达式
代替jsp脚本表达式实现输出
${} 页面输出
empty 判断是否为空,搭配三元运算使用
既可以获取浏览器域中数据,也可以获取页面上的参数
2.JSTL标签库
主要用法:
3.静态包含
对于每个页面都有的内容,可以将其写到某一个jsp页面,其他页面想使用内容只需要静态包含此界面即可
Idea
1.添加依赖
批量添加jar包
一般在web-lib下存放jar包,然后点击project structure-libraries-点击加号将jar包导入-可以对依赖更改别名-然后在problems中fix即可
2.Idea整合Tomcat服务器
3.实现批量测试
在接口或类下点击navigate-Test即可 ,只能测试public类
4.debug
5.包的展示
**
**若想让包以此方式展示
6.对于project和module的理解
project即为工作区,每个module都可以是不同类型的。可以是web类型,gadle,spring …
标签:随便,浏览器,web,request,写写,servlet,response,书城,页面 来源: https://blog.csdn.net/weixin_45828966/article/details/114455915