老师,为啥我的这个代码没办法输出filePath,但是图片就可以下载,在输出位置上也能看到image文件跟图片
(HttpServletRequest reqHttpServletResponse resp) ServletExceptionIOException { ServletContext servletContext=.getServletContext()String filePath=servletContext.getRealPath()System..println(filePath)File file=File(filePath)FileInputStream fis=FileInputStream(file)[] bytes=[fis.available()]fis.read(bytes)resp.setHeader(+String(file.getName().getBytes()))OutputStream fos=resp.getOutputStream()fos.write(bytes)fos.flush()fos.close()
老师,我IDEA创建的项目都是在同一个文件夹里面的,我那时候创建加了空格,现在想把这个文件夹的名字修改,怎么在IDEA里面操作????
老师 不知道为什么 我用用户名查询就查不到 别的条件都可以查出来
GetRequestDataServlet
package com.jay; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; /** * 获取请求数据 */ public class GetRequestDataServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String username = req.getParameter("username"); PrintWriter out = resp.getWriter(); out.println("<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0 Transitional//EN'>"); out.println("<HTML>"); out.println("<HEAD><TITLE> ITBZ </TITLE></HEAD>"); out.println("<BODY>"); out.println("username = "+username+"<br/>"); out.println("</BODY>"); out.println("</HTML>"); out.flush(); out.close(); } }
web-xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <servlet> <servlet-name>demoServlet</servlet-name> <servlet-class>com.jay.DemoServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>demoServlet</servlet-name> <url-pattern>/demo.do</url-pattern> <!--.do表示访问的是一个Servlet--> </servlet-mapping> <servlet> <servlet-name>getRequestDataServlet</servlet-name> <servlet-class>com.jay.GetRequestDataServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>getRequestDataServlet</servlet-name> <url-pattern>/getInfo.do</url-pattern> </servlet-mapping> </web-app>
addUser.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="/getInfo.do" method="post"> 用户名:<input type="text" name="username"/><br/> <input type="submit" value="OK" /> </form> </body> </html>
老师,输入用户名点击提交后结果是这样,是什么原因呢
问题:老师为什么我的客户端没有响应出用户名字
jspdemo.rar
com.bjsxt.servlet.RequestJSONServlet
找到原因了老师,在addUser.html中表单的action部分打多了一个/
我遇到的问题也是和上面兄弟一样的,路径对的,但是页面不显示,F12也显示 jQuery文件找不到
解决方案:把IDEA中Tomcat加载的 out 资源文件 删除,让Tomcat重新加载一次,问题解决
这个地方没有定义servletContext.setAttribute(),怎么能够直接取到servletContext.getAttribute(users.getUserid()+""),而且还是按照users.getUserid()作为key值呢?系统是怎么知道的呢?
上面的session的key也不是这个啊,是个常量啊?
这是为什么呀老师
请问在哪里能看到上一个老师讲的视频?这个模块的视频,要上一个老师讲的那一套,有东西要回顾。
resp.setContentType("application/json;charset=utf-8");
我想问一下,这个响应设置了,和没设置,都能正常显示数据,这是为什么呢?
为什么我这里直接下载了?
老师,请问一下为什么我运行的结果是这样的?
可以访问到html页面,但是一提交就报错
@WebServlet("/fileUpload") @MultipartConfig public class FileUpLoad extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //设置请求的编码 req.setCharacterEncoding("utf-8"); //获取输入的信息 String desc = req.getParameter("desc"); //获取file类型文件 Part part = req.getPart("file"); //给文件改名 String fileName = UUID.randomUUID().toString() + part.getSubmittedFileName().substring(part.getSubmittedFileName().lastIndexOf(".")); //相对路径转换绝对路径 ServletContext servletContext = this.getServletContext(); String realPath = servletContext.getRealPath("image/" + fileName); //给出需要上传文件的绝对路径 part.write(realPath); //响应输出 resp.setContentType("text/html;charset=utf-8"); PrintWriter printWriter = resp.getWriter(); printWriter.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">"); printWriter.println("<HTML>"); printWriter.println("<HEAD><TITLE>A Servlet</TITLE></HEAD>"); printWriter.println("<BODY>"); printWriter.println("上传成功" + desc); printWriter.println("</BODY>"); printWriter.println("</HTML>"); printWriter.flush(); printWriter.close(); } }
@Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //将相对路径转为绝对路径 ServletContext servletContext=this.getServletContext();//Tomcat一开始就创建好的 String filePath=servletContext.getRealPath("image/索隆.png"); System.out.println(filePath); //获取图片 File file=new File(filePath); FileInputStream fis=new FileInputStream(file); byte[] bytes=new byte[fis.available()]; fis.read(bytes); //设置下载方式 resp.setHeader("Content-Disposition","attachment;filename="+new String(file.getName().getBytes("gbk"),"iso-8859-1")); OutputStream fos=resp.getOutputStream(); fos.write(bytes); fos.flush(); fos.close(); }
老师,为啥我的这个代码没办法在控制台输出filePath,但是图片就可以下载,在输出位置上也能看到image文件夹跟图片(上个代码语言没选好,所以重新提问下),
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637