private bt,猎奇小屋tmebtlloop怎么打开
猎奇小屋tmebtlloop怎么打开
后端代码
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/authorInfo")
public class AuthorServlet extends HttpServlet{
private ObjectMapper objectMapper= new ObjectMapper();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
resp.setContentType("application/json; charset=utf8");
//通过这个方法,来获取到指定的博客的作者信息.
String param= req.getParameter("blogId");
if(param== null||"".equals(param)){
//参数缺少了.
resp.getWriter().write("{ \"ok\": false, \"reason\": \"参数缺失!\"}");
return;
}
//根据当前 blogId在数据库中进行查找,找到对应的 Blog对象,再进一步的根据 blog对象,找到作者信息.
BlogDao blogDao= new BlogDao();
Blog blog= blogDao.selectOne(Integer.parseInt(param));
if(blog== null){
resp.getWriter().write("{ \"ok\": false, \"reason\": \"要查询的博客不存在!\"}");
return;
}
//根据 blog对象,查询到用户对象
UserDao userDao= new UserDao();
User author= userDao.selectById(blog.getUserId());
if(author== null){
resp.getWriter().write("{ \"ok\": false, \"reason\": \"要查询的用户不存在!\"}");
return;
}
//把 author返回到浏览器这边
//注意要把密码给干掉!
author.setPassword("");
resp.getWriter().write(objectMapper.writeValueAsString(author));
}
}
package controller;
import modle.Blog;
import modle.BlogDao;
import modle.User;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
@WebServlet("/blogDelete")
public class BlogDeleteServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
// 1.检查当前用户是否登录
HttpSession session= req.getSession(false);
if(session== null){
resp.setContentType("text/html; charset=utf8");
resp.getWriter().write("当前尚未登录,不能删除!");
return;
}
User user=(User) session.getAttribute("user");
if(user== null){
resp.setContentType("text/html; charset=utf8");
resp.getWriter().write("当前尚未登录,不能删除!");
return;
}
// 2.获取到参数中的 blogId
String blogId= req.getParameter("blogId");
if(blogId== null||"".equals(blogId)){
resp.setContentType("text/html; charset=utf8");
resp.getWriter().write("当前 blogId参数不对!");
return;
}
// 3.获取要删除的博客信息.
BlogDao blogDao= new BlogDao();
Blog blog= blogDao.selectOne(Integer.parseInt(blogId));
if(blog== null){
resp.setContentType("text/html; charset=utf8");
resp.getWriter().write("当前要删除的博客不存在!");
return;
}
// 4.再次校验,当前的用户是否就是博客的作者
if(user.getUserId()!= blog.getUserId()){
//这一点在前端这里其实也处理过~~但是此处还是再校验一次,不是坏事!!!
resp.setContentType("text/html; charset=utf8");
resp.getWriter().write("当前登录的用户不是作者,没有权限删除!");
return;
}
// 5.确认无误,开始删除
blogDao.delete(Integer.parseInt(blogId));
// 6.重定向到博客列表页
resp.sendRedirect("blog_list.html");
}
}
qbittorrent如何配置用于BT下载
结论:qbittorrent,一个轻量级且功能强大的BitTorrent客户端,因其易用性与美观外观在Linux、Windows等系统中脱颖而出,成为BitTorrent软件的优秀替代选择。以下是详细的部署与设置步骤。
无需过多复杂操作,直接开始配置。首先,点击应用进行安装,部署过程简单快捷。安装完成后,通过输入IP地址:8080在浏览器中打开默认的管理页面,用户名和密码均为'admin'和'adminadmin'。
接下来,进入qbittorrent的设置界面,这里已经为你准备了一些基本的指导。如果你主要使用PT(Private Tracker)功能,只需调整分类设置和下载目录即可。请注意,这些设置针对PT用户,如果你是BT用户,则这部分配置基本适用。
最后,作者强调,本文完全出于分享目的,不含任何商业利益,期待值友们在理性交流和和谐讨论的环境中,共同学习和进步。






