首页 > 其他分享 >关于web层代码

关于web层代码

时间:2024-12-25 23:22:27浏览次数:6  
标签:web 代码 req javax 关于 import servlet resp user

BaseServlet
package com.cwk.web.listener.servlet;

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.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

/**

  • 替换HttpServlet 根据请求最后一段路径 进行分发
    */
    public class BaseServlet extends HttpServlet {
    //根据路径进行方法分发
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    //1.获取请求路径
    String requestURI = req.getRequestURI();//brand-case/brand/selectAll
    //2.获取最后一段路径 方法名
    String methodName = requestURI.substring(requestURI.lastIndexOf('/') + 1);

     //2.执行方法
     //2.1获取BrandServlet/UserServlet的字节码对象 字节码对象Class
     Class<? extends BaseServlet> aClass = this.getClass();
    
     try {
         Method method = aClass.getMethod(methodName, HttpServletRequest.class, HttpServletResponse.class);
         //执行方法
         method.invoke(this,req,resp);
     } catch (NoSuchMethodException e) {
         throw new RuntimeException(e);
     } catch (InvocationTargetException e) {
         throw new RuntimeException(e);
     } catch (IllegalAccessException e) {
         throw new RuntimeException(e);
     }
    

    }
    }

登录servlet

package com.cwk.web.listener.servlet;

import com.cwk.pojo.User;
import com.cwk.service.UserService;
import com.cwk.service.impl.UserServiceImpl;

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("/loginServlet")
public class LoginServlet extends HttpServlet {
UserService userService = new UserServiceImpl();

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    HttpSession session = req.getSession();

    //接收数据
    String username = req.getParameter("username");
    String password = req.getParameter("password");
    User user = userService.login(username, password);
    String contextPath = req.getContextPath();
    //存Session

    session.setAttribute("user", user);
    session.setAttribute("username", username);
    //到时候解封即可
   /* if (user != null) {
        if (user.判断职位之类的.equals("1")) {
            resp.sendRedirect(contextPath + "/generalStaff.jsp");
        } else if (user.判断职位之类的().equals("2")) {
            resp.sendRedirect(contextPath + "/DepartmentManager.jsp");
        } else if (user.判断职位之类的().equals("3")) {
            resp.sendRedirect(contextPath + "/GeneralManager.jsp");
        } else if (user.判断职位之类的().equals("4")) {
            resp.sendRedirect(contextPath + "/FinanceStaff.jsp");
        } else {
            System.out.println("数据非法!");
        }


    }
    else {
        System.out.println("nihao");
        //登陆失败
        //存储错误信息
        req.setAttribute("login_msg", "用户名或密码错误");
        //跳转
        req.getRequestDispatcher("/index.jsp").forward(req, resp);
    }

*/

}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    this.doGet(req, resp);
}

}

标签:web,代码,req,javax,关于,import,servlet,resp,user
From: https://www.cnblogs.com/K-wc2024/p/18631631

相关文章

  • service代码
    接口packagecom.cwk.service;importcom.cwk.pojo.User;importjava.util.List;publicinterfaceUserService{Userlogin(Stringusername,Stringpassword);}impl层packagecom.cwk.service.impl;importcom.cwk.mapper.UserMapper;importcom.cwk.pojo.User;imp......
  • JVM实战—1.Java代码的运行原理
    大纲1.Java代码到底是如何运行起来的2.JVM类加载机制的一系列概念3.JVM中有哪些内存区域及各自的作用4.JVM的垃圾回收机制的作用5.问题汇总 1.Java代码到底是如何运行起来的(1)首先假设写好了一个Java系统(2)把.java代码文件编译成.class字节码文件(3)启动JVM进程运行.......
  • 关于页面的代码 一般使用模板
    登录的:<%@pagecontentType="text/html;charset=UTF-8"language="java"isELIgnored="false"%><head><metacharset="UTF-8"><title>login</title><linkhref="css/login......
  • 《代码大全》阅读笔记#2
    书中提到的一项关键概念就是“重构”。重构不仅仅是对现有代码进行小幅度的修改,而是一个持续的过程。它包括了改善代码的结构、提高代码的可读性、减少冗余、消除重复等,使得代码在不断变化的需求面前能够灵活适应。“模块化”是《代码大全》中反复提到的另一个重要理念。通过将代......
  • Git 入门指南:如何高效管理你的代码库
    文章目录Git的介绍安装`Git`创建仓库`Git`三板斧`add``commit``push`冲突问题常用`Git`指令Git的介绍Git是一个分布式版本控制系统,用于跟踪文件的变化并支持团队协作开发。最初由LinusTorvalds(Linux操作系统的创始人)开发,Git在开发者中变得非常流行,尤其是......
  • Java多线程第三篇-多线程的代码相关案例
    文章目录一.单例模式1.1饿汉模式1.2懒汉模式1.3指令重排序1.4解决方法volatile二.阻塞队列2.1模拟实现阻塞队列(生产者消费者模型)三.定时器(日常开发常见的组建)3.1创建并模拟定时器实现四.线程池4.1线程池的构造方法的使用4.2模拟实现线程池五.锁策略(特点)5.......
  • ensp 关于ARRP 的讲解 配置
    VRRP(VirtualRouterRedundancyProtocol)是一种路由协议,旨在通过提供多个路由器备份来增加网络的可靠性。VRRP允许多个路由器通过虚拟IP地址工作,使得网络中的主路由器发生故障时,备份路由器可以接管其任务,确保网络通信不中断。VRRP的工作原理:虚拟路由器:VRRP将多个物理路......
  • python爬虫实验:用Python爬取链家指定数据--附完整代码(基于requests和BeautifulSoup实
    1、前言 本实验实现了对链家房屋名字,所在小区,装饰,是否核验,楼层,总楼层以及租金进行爬取,仅供学习使用。2、url分析第二页:https://cd.lianjia.com/ershoufang/pg2/第三页:https://cd.lianjia.com/ershoufang/pg3/故第i页的url为:https://cd.lianjia.com/ershoufang/pg{i}/......
  • Qwen2大模型微调入门实战(附完整代码)超详细讲解
    Qwen2(https://modelscope.cn/models/qwen/Qwen2-1.5B-Instruct/summary)是通义千问团队最近开源的大语言模型,由阿里云通义实验室研发。以Qwen2作为基座大模型,通过指令微调的方式做高精度文本分类,是学习LLM微调的入门任务。在本文中,我们会使用Qwen2-1.5b-Instruct(https......
  • WebP图片格式
    WebPWebP是一种图片文件格式,由Google开发,用于提供更好的图像压缩性能。支持有损压缩和无损压缩,同时支持透明度(类似PNG格式的alpha通道)和动画(类似GIF格式)。WebP特点高效压缩•有损压缩:与JPEG相比,WebP的文件体积更小,同时保持类似的图像质量。•无损压缩:相比PNG,W......