JavaWeb学习_Servlet
1. Servlet
Servlet就是sun公司开发动态web的一门技术,sun在这些API中提供一个接口叫做:Servlet,开发一个Servlet程序,步骤:
- 编写一个类,实现Servlet接口
- 把开发好的Java类部署到web服务器中
实现了Servlet接口的Java程序叫做Servlet。
解决tomcat闪退的问题: https: //www.pianshen.com/article/89251109884/
HTTP Status 500 – Internal Server Error https://blog.csdn.net/weixin_43210113/article/details/110127957
idea启动servlet日志中文乱码 https://blog.csdn.net/weixin_33739387/article/details/113079728
request.setCharacterEncoding("UTF-8");
Servlet中完成的功能:
(1)获取用户(客户端)发给的数据。
String name = request.getParameter("name");
(2)调用Dao中的方法完成添加功能。
FruitDao fruitDao = new FruitDaoImpl();
fruitDao.add(new Fruit(5,"pa",2,2,"remark"));
2. Servlet继承关系
javax.servlet.Servlet接口
javax.servlet.GenericServlet抽象类(实现了Servlet接口)
javax.servlet..HttpServlet抽象子类(继承了GenericServlet抽象类)
3.session
//获取session,若获取不到,则创建一个新的
HttpSession session = request.getSession();
request.getSession(true);//效果和不带参数相同
request.getSession(false);//获取当前会话,没有则返回null,不会创建新的session
session.getId();//获取sessionID
session.getMaxInactiveInterval();//会话时间,默认为1800秒
session.setAttribute("name","小王");
//向当前session保存作用域保存一个数据(key,value)
Object name = session.getAttribute("name");//从当前session保存作用域获取指定的key
4. 服务器内部转发以及客户端重定向
1)
request.getRequestDispatcher("hello.html").forward(request,response);//服务器内部转发
//一次请求响应的过程,对于客户端而言,内部经过了多少次转发,客户端是不知道的。
// 成功响应,但url没有变化(地址栏没有改变)
2)
response.sendRedirect("index.jsp");//客户端重定向
//两次请求响应的过程,客户端知道请求url有变化
浙公网安备 33010602011771号