javaweb
1.继承httpservlet报错
原因:httpservlet不在jdk的包里面,在servletapi这个包里。要么把这个jar包导入程序中,要么比较简单把tomcat的依赖添加进来(推荐)。
2.http传过来的参数只能是字符串,所以我们要强转。获取参数getParameter().
3.action='add',怎么和addservlet有关联呢,这时我们要去web.xml配置联系了,配置
,找到与addservlet的联系后,调用servlet里重写的dopost方法,就能获取参数,这样我们点击发送请求,后台就能得到参数。后续会有@webservlet,所以无需担心。
4.我们往一个session保存作用域保存一个k:v值,假如有两个servlet组件,往一个servlet进行request.getSession().setAttribute(k,v),第二个servlet可以通过request.getSession().getAttribute(k)得到这个值,因为session保存在一个容器里,只要是同一个会话,同一个客户端都能访问到。
servlet的保存作用域有四个page(页面级别,现在几乎不用) , request(一次请求响应范围) , session(一次会话范围) , application(整个应用程序范围)
如果是application保存作用域,则不同的客户端都能得到getAtrribute()的值。
5.
(1)@WebServlet("/index")这里的index是像拦截向index发的请求,这里的index是随便写的,不是index页面。
而templateName:"index" 这里指的是跳转到index页面,因为用thymeleaf渲染,用了<context-param>,所以真实的是/ index.html
(2)当这边获取不到保存在session里的值时,有以下原因,1)FruitDao相关的方法有错 2)连接的数据库有问题 3)跳转的连接写错了,导致不是向这个连接的/index发请求。
6
7.“无法从 static 上下文引用非 static 方法”,其实就是系统找不到你引用的方法。
原因 我没调用new一个对象去调用方法
8.数字格式的错误
原因parseint()括号里面写错了
9.在thymeleaf中| | 的使用
两个||里面会认为是普通的字符串,但是还是会识别thymeleaf表达式,自动完成字符串的拼接。
10.在fruitServlet中,如果方法太多,用switch() case default 太麻烦,就用foreach循环来用,先获取所有方法再反射调用。
11.当一个类不是servlet但继承了servlet类,那么父类的init 方法不会调用,因为如果是servlet类,会自动调用super.init()方法,所以要用到该方法就要自动调用。
12.webServlet小提示 配置初始化init属性
获得初始化值
init初始化小知识
重写无参的init方法
18.ioc 耦合/依赖
这样就是有依赖
简单来说controller 和service和dao里没有依赖,
而是写在配置文件里,在写BeanFatory类 写在init方法里,获取Bean文件。这样在原来的controller获取service属性就不会空指针。
1)控制反转:对象的生命周期本来是程序员来管理的,现在写进BeanMap里,存到BeanFactory里,相当于ioc容器,由BeanFactory管理。
2)依赖注入:以前是程序员new一下主动获取,现在靠配置文件解析,容器帮我们注入进去。
19.MVC
business obejct其实就是service
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY