日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

springboot-web开发

發(fā)布時(shí)間:2025/3/8 编程问答 10 豆豆
生活随笔 收集整理的這篇文章主要介紹了 springboot-web开发 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

      • 抽取公共頁面
      • 遍歷數(shù)據(jù)
      • 攔截器
      • 文件上傳
      • 原生servlet注入

抽取公共頁面

表單提交

<form class="form-signin" action="index.html" method="post" th:action="@{/login}">

IndexController

//去登錄頁@GetMapping(value = {"/","/login"})public String loginPage(){return "login";}@PostMapping("/login")public String main(User user, HttpSession session, Model model){if(StringUtils.hasLength(user.getUsername()) && "12345".equals(user.getPassword())){session.setAttribute("loginUser",user);//登錄成功重定向到main.html,防止表單重復(fù)提交return "redirect:/main.html";}else {model.addAttribute("msg","賬號(hào)密碼錯(cuò)誤");return "login";}}/*跳轉(zhuǎn)頁面,去main頁面*/@GetMapping("/main.html")public String mainPage(HttpSession session,Model model){Object loginUser = session.getAttribute("loginUser");if(loginUser != null){return "main";}else {model.addAttribute("msg","請(qǐng)重新登錄");return "login";}}

登錄時(shí)錯(cuò)誤提示

<label style="color: red" th:text="${msg}"></label>

顯示登錄用戶

<a href="#" class="btn btn-default dropdown-toggle" data-toggle="dropdown"><img src="images/photos/user-avatar.png" alt="" />[[${session.loginUser.username}]]<span class="caret"></span></a>

遍歷數(shù)據(jù)

@GetMapping("/dynamic_table")public String dynamic_table(Model model){List<User> users = Arrays.asList(new User("zhangsan","123435"),new User("lisi","1234567"),new User("wangwu","12345678"),new User("jahui","93749237"));model.addAttribute("users",users);return "table/dynamic_table";} <thead><tr><th>#</th><th>用戶名</th><th>密碼</th></tr></thead><tbody><tr class="gradeX" th:each="user,status:${users}"><td th:text="${status.count}">aaa</td><td th:text="${user.username}">bbb</td><td>[[${user.password}]]</td></tr></tbody></table>

攔截器

@Configuration public class AdminWebConfig implements WebMvcConfigurer {@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/**").excludePathPatterns("/","/login","/css/**","/fonts/**","/img/**","/js/**");} } /*目標(biāo)方法執(zhí)行之前*/@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {//登錄檢查HttpSession session = request.getSession();Object loginUser = session.getAttribute("loginUser");if(loginUser != null){return true;}// session.setAttribute("msg","先登錄"); // response.sendRedirect("/");request.setAttribute("msg","請(qǐng)先登錄");request.getRequestDispatcher("/").forward(request,response);return false;}/*目標(biāo)方法執(zhí)行完成以后*/@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {}/*頁面渲染之后*/@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {}

文件上傳

@Controller public class FormTestController {@GetMapping("/form_layouts")public String from_layouts() {return "form/form_layouts";}/*** 自動(dòng)封裝上傳過來的文件* @param email* @param username* @param headerImg* @param photos* @return*/@PostMapping("/upload")public String upload(@RequestParam("email") String email,@RequestParam("username") String username,@RequestParam("headerImg") MultipartFile headerImg,@RequestPart("photos") MultipartFile[] photos) throws IOException {if(!headerImg.isEmpty()){String originalFilename = headerImg.getOriginalFilename();headerImg.transferTo(new File("D:\\abc\\"+originalFilename));}if(photos.length>0){for(MultipartFile photo:photos){if(!photo.isEmpty()){String originalFilename = photo.getOriginalFilename();photo.transferTo(new File("D:\\abc\\"+originalFilename));}}}return "main";}} <form role="form" th:action="@{/upload}" method="post" enctype="multipart/form-data"><div class="form-group"><label for="exampleInputEmail1">郵箱</label><input type="email" name="email" class="form-control" id="exampleInputEmail1" placeholder="Enter email"></div><div class="form-group"><label for="exampleInputPassword1">名字</label><input type="password" name="username" class="form-control" id="exampleInputPassword1" placeholder="Password"></div><div class="form-group"><label for="exampleInputFile">頭像</label><input type="file" name="headerImg" id="exampleInputFile"></div><div class="form-group"><label for="exampleInputFile">生活照</label><input type="file" name="photos" multiple></div><div class="checkbox"><label><input type="checkbox"> 檢查</label></div><button type="submit" class="btn btn-primary">提交</button></form> spring.servlet.multipart.max-file-size=10MB spring.servlet.multipart.max-request-size=100MB

原生servlet注入

@WebServlet(urlPatterns = "/my") public class MyServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {resp.getWriter().write("66666");} } @ServletComponentScan(basePackages = "com.atjh.boot05webadmin") @SpringBootApplication public class Boot05WebAdminApplication {public static void main(String[] args) {SpringApplication.run(Boot05WebAdminApplication.class, args);}}

總結(jié)

以上是生活随笔為你收集整理的springboot-web开发的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。