首页 > 编程语言 >javaweb练习分析——2

javaweb练习分析——2

时间:2024-12-21 20:43:29浏览次数:4  
标签:分析 练习 javaweb resp req session user import servlet

在进行完文件的配置之后,就要按照数据库封装bean,放在pojo层中,然后创建相应的mapper.xml文件(创建时要用/间隔)

之后根据项目要求,搭建主界面。
根据不同角色的功能,搭建各自的界面,以其中一个为例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>顾客应用系统</title>
    <style>
        .form {
            width: 600px;
            margin: 0 auto;
            /*border: 1px solid red;*/
        }

        .form table {
            margin: 0 auto;
        }

        .form table tr td {
            width: 100px;
            height: 30px;
            border: 1px solid #000;
            text-align: center;
        }

        button {
            display: block;
            margin-top: 10px;
            padding: 10px;
            background-color: #007bff;
            color: #fff;
            border: none;
            border-radius: 3px;
            cursor: pointer;
        }
    </style>
</head>
<body>
<h1 style="text-align: center">顾客应用系统</h1>
<!-- 其余代码不变 -->
<div class="form">
    <table border="1px" cellspacing="0" width="600px">
        <tr>
            <th>编号</th>
            <th>功能</th>
        </tr>
        <tr>
            <td>1</td>
            <td>
                <a href="/middle33/customer/viewInfo" target="_blank">
                    <button>查看个人信息</button>
                </a >
            </td>
        </tr>
        <tr>
            <td>2</td>
            <td><a href="updatePassword.jsp" target="_blank">
                <button>修改个人密码</button>
            </a >
            </td>
        </tr>
        <tr>
            <td>3</td>
            <td>
                <a href="/middle33/house/selectByStatus1" target="_blank">
                    <button>浏览房产信息</button>
                </a >
            </td>
        </tr>
        <tr>
            <td>4</td>
            <td>
                <a href="selectByCondition1.jsp" target="_blank">
                    <button>查询房产</button>
                </a >
            </td>
        </tr>
        <tr>
            <td>5</td>
            <td>
                <a href="/middle33/house/selectByStatus1" target="_blank">
                    <button>购买房产</button>
                </a >
            </td>
        </tr>
    </table>
</div>
</body>
</html>

其中要求实现不同角色进入不同的界面,所以要在登录部分的代码加上判断条件,根据不同的身份,进入不同界面,这就要使用session,在登录时sql语句执行后返回user对象,将user对象储存在session中,这样在后续的操作中就可以再session中获取user对象,从而得到该用户的角色信息。


import com.wjh.pojo.User;
import com.wjh.service.UserService;

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 UserService();

    @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.getStatus().equals("顾客")) {
                resp.sendRedirect(contextPath + "/customer.html");
            } else if (user.getStatus().equals("房产经纪人")) {
                resp.sendRedirect(contextPath + "/agent.html");
            } else if (user.getStatus().equals("管理员")) {
                resp.sendRedirect(contextPath + "/manager.html");
            }else {
                System.out.println("数据非法!");
            }
        }
        else {
            //登陆失败
            //存储错误信息
            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);
    }

}

标签:分析,练习,javaweb,resp,req,session,user,import,servlet
From: https://www.cnblogs.com/wjhfree/p/18621143

相关文章

  • javaweb练习分析——1
    首先在写项目时首先要做的是创建一个web项目,配置好pom.xml文件,mybatis.xml文件,还有创建相应的结构比如pojo、mapper、service等等。xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion>......
  • mask2former底层原理分析
    基于mmdetection框架1.mmcv\cnn\builder.py:注册一个创建模型的方式(这里是根据配置文件)MODELS=Registry('model',build_func=build_model_from_cfg)2.mmdet\models\builder.py:DETECTORS=MODELS,创建检测器入口DETECTORS.build_detector(cfg,train_cfg=None,test_cfg......
  • TIA环境下SCL编程练习:产生m到n之间的随机整数,存入数组
    假设需要读取100个随机数,存入有100个成员的数组。做这个练习是为了学习一下SCL编程。随机数使用系统时钟纳秒数来线性转换。新建项目,选用1500PLC(6ES7513-1AL02-0AB0,当然可以选用其它型号),设定本地时区,建立网络。新建DB,建立变量,取消优化块的访问。 新建FC,先建立内部变量如下......
  • Spring源码分析之BeanFactory接口的解析
    前言:  在我们的前两篇文章当中我们看完之后其实我们都会发现当我们进行相关的重要的行为的时候如我们看到的GetBean或者在Register方法的时候会出现BeanFactroy进行调用那么这个时候我们就会产生一个疑惑这个到底是什么为什么这么重要,在我没有说的时候我们从字面上进行......
  • Spring源码分析之后置处理器 BeanPostProcessor
    前言在我前面文章带领大家看源码的时候我们就是会发现义初始化为例子:我们在初始化的时候就是要要在初始化前运行BeanPostProcessorsBeforeInitialization方法然后在初始化后就是会调用BeanPostProcessorsAfterInitialization方法,这个意思就是说我们可以在Bean对象进行初始......
  • python数据分析:介绍pandas库的数据类型Series和DataFrame
    安装pandaspipinstallpandas-ihttps://mirrors.aliyun.com/pypi/simple/使用pandas直接导入即可importpandasaspdpandas的数据结构pandas提供了两种主要的数据结构:Series和DataFrame,类似于python提供list列表,dict字典,tuple元组等数据类型用于存储数据。1.Se......
  • 分支与循环8——goto语句与练习题2
     一、先给大家讲一下goto语句呗goto语句,goto接一个对象,就会跳到那个对象那里去,如图,执行gotoagain后,回到到红色框again:后面,继续执行pritnf,完了之后又执行goto,成为一个死循环 goto语句不要随便乱用,可以跳过多个循环,而break一次只可以跳过一个循环,如图,多个for循环嵌套,假设遇......
  • Sigrity System SI Parallel Bus Analysis模式进行DDR3仿真分析-传输线模型带VRM
    SigritySystemSIParallelBusAnalysis模式进行DDR3仿真分析-传输线模型带VRMSigritySystemSIParallelBusAnalysis模式提供了简易的已搭建好的模板,方便用户直接在模板上替换数据文件进行仿真分析,下面介绍data_bus_welem_vrm模板的使用,具体操作如下双击启动SystemS......
  • windows 驱动实例分析系列: pl2303芯片开发实战之一
    驱动开发有大半情况是需要和硬件芯片交互的,而国内,最多的情况就是拿到国外的芯片,然后进行仿制,故能根据芯片设计出解决方案这种技术是许多高级工程师的基本操作。PL2303是一个被广泛使用的USB转RS232串口芯片。其中一些型号早已停产,但还在市场上流通,被使用在一些产品上。在......
  • 渗透测试-前端加密分析之RSA加密登录(密钥来源服务器)
    本文是高级前端加解密与验签实战的第6篇文章,本系列文章实验靶场为Yakit里自带的Vulinbox靶场,本文讲述的是绕过RSA加密来爆破登录。分析这里的代码跟上文的类似,但是加密的公钥是通过请求服务端获取的http://127.0.0.1:8787/crypto/js/rsa/generator由于密钥是服务端生......