老师,我描述一下这个过程,您看是不是这样执行的
运行服务器跳转到登录页面,这个时候filter会把用户请求拦截,然后判断请求uri中是否含有login.jsp或者login.do
如果有,就放行。如果没有,这时就应该查询session是否含有用户数据,如果有用户数据,说明之前已经登录过,放行。如果没有请求转发到登录页面
这个时候加了filter之后,无法跳转到main.jsp ,然后查看session里面没有取到用户参数,可是,传值的时候已经传到session里面了啊,这时什么原因呢?
过 www.itbz.com:8888/itbz/index.html 访问虚拟主机,并访问 index.html
老师这个context path:itbz访问路径是什么意思,不能换成其他的么
老师我的闪退呢?
老师怎么弄都找不到路径
servlet代码
public class downFileServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req,resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { /** * 相对路径转换为绝对路径 */ ServletContext servletContext = this.getServletContext(); //context.getRealPath("path") //该方法可以将一个相对路径转换为绝对路径,在文件上传与下载时需要用到该方法做路径的转换。 String realPath = servletContext.getRealPath("sj.jpg"); System.out.println(realPath); // resp.setContentType("image/jpg;charset=utf-8"); //获得文件 File file = new File(realPath); //读取文件 System.out.println(file.getName()+" "+file.getPath()); FileInputStream fis = new FileInputStream("file"); byte[]buf = new byte[fis.available()]; //将图片读到数组里 fis.read(buf); //setHeader和addHeader都一样 再响应中添加附加信息 resp.setHeader("Content-Disposition", "attachment; filename="+file.getName()); //字节输出流 向客户端浏览器做字节输出 OutputStream os = resp.getOutputStream(); os.write(buf); os.flush(); os.close(); fis.close(); } }
错误信息
我把图片名字和图片路径都打印了显示正常
是不是图片没有部署到tomcat的副本中??怎么解
老师我这个怎么回事啊 还有老师我这个现在打不开了闪退原先可以打开的
课上用的反编译工具,在下载资料里没有
反馈一下
老师,请求转发,能写绝对路径吗?请求转发能访问当前服务器的别的项目么?请求转发能发送到别的服务器上么?谢谢老师。
源代码.rar
代码 尚学堂网课毕业设计的源代码,导入到自己的电脑上有些错误。
IMG_20210105_130122.jpg
IMG_20210105_130245.jpg
老师这个不行啊我没有改变端口号,但是就是不能用
就是 在浏览器请求我们做好的项目时会先去分析web.xml中我们绑定好的URL来找到我们的项目,来做一次实例化,再调用init方法初始化
,再调用service方法将我们写好的项目返回到浏览器,最后再调用销毁的方法结束这一次的请求。
这么理解对吗?
这个通过java返回结果怎么理解,能不能举个例子
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="getRequestData.do" method="post"> <input type="text" name="username"/><br/> <input type="password" name="userpwd/"><br/> <input type="submit" value="OK"/> </form> </body> </html>
/** * 获取请求数据 */ public class GetRequestDataServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //获取用户名 String username = req.getParameter("username"); //获取用户密码 String userpwd = req.getParameter("userpwd"); PrintWriter pw=resp.getWriter(); pw.println("UserName:"+username); pw.println("PassWord:"+userpwd); pw.flush(); pw.close(); } }
为什么PassWord那是null?
老师IDEA总是显示这个:
信息 [RMI TCP Connection(3)-127.0.0.1] org.apache.jasper.servlet.TldScanner.scanJars 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。
一、截图
二、问题
1.httpsession对象为k-v结构,session id由服务器管理,那么session在服务器中的存储方式,是id+k+v的结构吗(id可以理解为premierekey吗)
2.name为JSESSIONID的httpsession对象不存在时,收到客户端浏览器请求,服务器会创建该对象,并把value的值赋予id相同的字符串,我这么理解对吗
老师我这里登录跳转没问题,
就是我这里不管是登录对错,还是最开始打开页面,都会在左上角提示用户名密码有误。
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637