关于javaweb中jsp的问题

想写一个多角色的登录页面,根据不同角色跳转至不同页面,
我把角色分在了三个表,网上查出来有写在jsp页面里的也有
写在servlet里的,请问哪种方法好,我没用框架,只是用的jdbc+servlet

3个回答

写在servlet好点,在servlet查到登录的是哪个角色后,直接跳转到那个角色对应的页面就可以了

hqd66
朝目标努力的苍白 回复Jim~LoveQ: 好的,谢谢
6 个月之前 回复
jim_LoveQ
Jim~LoveQ 这样子的话,那你就看看是不是可以直接查询到登录的账号是哪个角色的,可以的话就先验证角色先,然后再去具体的表中查询账号密码正确不。要是无法辨别角色的话,只能每个表都查一次了
6 个月之前 回复
hqd66
朝目标努力的苍白 回复Jim~LoveQ: 因为我不同角色的表的属性不一样,所以只能分三个表
6 个月之前 回复
jim_LoveQ
Jim~LoveQ 回复朝目标努力的苍白: 那你查询角色先也是有可能要查询三个表的。其实,用户信息不可以放在一个表么,使用其中一个字段做角色的标记,这样就只要查询一次就可以了
6 个月之前 回复
hqd66
朝目标努力的苍白 回复Jim~LoveQ: 但是我的不同角色是分不同表的,先验证的话是同时查询三个表吗
6 个月之前 回复
jim_LoveQ
Jim~LoveQ 回复朝目标努力的苍白: 我的理解是点击登录按钮,来到servlet后,是先进行账号密码验证,验证过了,继续查看是什么角色,然后跳转到不同的页面
6 个月之前 回复
hqd66
朝目标努力的苍白 那如果再要验证账号密码的话是不是就在查登录角色里再分条件?
6 个月之前 回复

可以用shiro安全框架,用servlet,JSp的话要在三个页面都要写判断。

hqd66
朝目标努力的苍白 好的,我去了解一下
6 个月之前 回复

不用框架的基本思路是这样的:
角色权限的实现,首先登陆后的主页面上的所有菜单都是这个用户能够操作的菜单。
页面通过ajax请求获取用户所有的菜单完成页面菜单的渲染。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
javaWeb中jsp代码问题
JSP中用session做一个我(免)登录页面,有session时直接访问,无session是有Cookie直接访问,无session有Cookie但Cookie不能访问,返回登录页面,无session无Cookie时直接返回登录页面,求大神指点,初学者
JavaWEB中JSP的内置对象
一:内置对象的出现原因 当JSP页面被请求是,  JSP会被Web转换成_jspServlet(实质上就是:Servlet),  然后按照Servlet的调用方式进行调用 因为有了这个转换过程,所以动态页面被访问时,第一次会比较慢, 但是在以后被打开是会比较快, 因为JSP文件已经被转化过,不需要再次转换,  在转化的过程中自动生成创建且生成9个对象来供_jspServlet使用. 二:九...
javaweb JSP路径问题
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
javaweb中两种jsp声明
jsp中纯在两种变量声明的方法: 1. 2. 两者不同之处在于第一种生命的变量类似于局部与变量,查看对应的servlet文件可看到num变量在函数内部;第二种类似于实例变量,查看对应的servlet文件可以看到num在函数之外,在类中。 当进行测试时,第一种方法声明的在网页打开时,市不可变的,但是第二种可变。
javaweb中jsp连接·mysql数据库
javaweb中jsp连接·mysql数据库 初学javaweb,用了一下午的时间去弄javaweb与Mysql数据库的连接,走了挺多的坑。在这里记录下,防止以后还会陷坑。 首先是建立一个javaweb程序,由于我用的是idea,所以程序建好后还要在WEB-INF下建立classes和lib两个文件夹。然后是tomcat服务器和jdbc驱动包的导入,在这里tomcat的配置和导入就不介绍了,主要说...
javaweb中jsp知识点剖析
jsp知识点剖析javaWEB   一  JSP        JavaScript代码            注释                隐式注释                    // 单行注释                    /* */ 多行注释                    <%-- 注释 --%>                显示注释       ...
JAVAWEB jsp action到servlet的问题
jsp中的action是这样并且我的jsp在TextOne的webroot文件夹下rn rnservlet名字是FirstServlet1 但编写在TextONe的src的包中rn现在action时出息404错误 找不到该页 是不是路径有问题
关于javaweb中的配置文件
为什么一个web需要那么多的配置文件像web.xml,,server.xml等,其中的运行机制大概是什么,
关于javaweb中连接数据库?
在javaweb中连接数据库可不可以用windows身份连接,不要桥连接,用java纯连接?
关于处理JavaWeb中Servlet中返回jsp乱码问题
主要对javaweb里面的编码进行处理,防止乱码的出现。
Javaweb关于图片上传问题
在ssm项目中要实现文件上传功能首先要导入俩个jar包 commons-fileupload.jar和commons-io.jar 然后需要在前端页面上使用<input type="file"> 并且需要用表单,表单的enctype设为multipart/form-data 例如 <form enctype="multipart/form-data" id="ff"&...
关于JAVAWEB 缓存的问题
众所周知,JAVAWEB有application全局缓存对象,rnrn如果我要做一个配置数据,如 网站的站长名字,网址 这些信息放在数据库里,然后tomcat启动的时候加载到内存中,rnrn是放到 JAVAWEB的application对象里 效率高一些,还是自己写一个 HashMap内存 放在这个自定义内存效率高一些呢?因为数据比较多,rnrn例子rnapplication.setAttribute("url","www.baidu.com");rn活是放在自定义内存 写一个类放 static map = new HashMap()rn加载的时候 map.put("url","www.baidu.com");rnrn两者效率上是否有差别?或可以忽略不计?
关于JavaWeb的数据库的问题?
import java.io.*;rnimport java.sql.SQLException;rnimport java.util.*;rnrnimport javax.servlet.*;rnimport javax.servlet.http.*;rnrnpublic class StudentServlet extends HttpServletrn public void doGet(HttpServletRequest req, HttpServletResponse res)rn throws ServletException, IOExceptionrn this.doPost(req,res);rn rn public void doPost(HttpServletRequest req, HttpServletResponse res)rn throws ServletException,IOExceptionrn res.setCharacterEncoding("GBK"); //设置res编码为GBK rn req.setCharacterEncoding("GBK"); //设置req编码为GBKrn HttpSession session = req.getSession(); //得到session对象rn String action = req.getParameter("action"); //得到action动作rn String message = ""; //声明消息字符串rn String stuNO = (String)session.getAttribute("stuNO");//得到当前登陆的学生信息rn StuDB sdb=new StuDB();rn //DBUtil dbu = (DBUtil)wac.getBean("DBUtil"); //得到DBUtil对象 rn if(action.equals("login")) rn stuNO = req.getParameter("uname").trim(); //得到登陆用户名rn String pwd = req.getParameter("pwd").trim(); //得到登陆密码 rn try rn41行在这里 if((sdb.verify(stuNO,pwd))) //登陆成功 rn List all = sdb.getStuInfo(stuNO);//执行查询得到该学生信息rn Iterator iter = all.iterator();rn //遍历输出所有用户信息rn while(iter.hasNext()) rn Student s = iter.next();rn System.out.println(s.getStudentNO());rn System.out.println(s.getPassword());rn System.out.println("您的名字"+s.getName());rn System.out.println(s.getAge());rn System.out.println(s.getGender());rn System.out.println(s.getClasss());rn System.out.println(s.getDepartment());rn System.out.println("你的借书权限"+s.getPermitted());rn session.setAttribute("stuNO",s.getStudentNO()); //将学号放进sessionrn session.setAttribute("stuName",s.getName()); //将学生姓名放进session rn rn rn elsern message = "非法的用户名和密码,请核对后重新登陆。"; //登陆失败消息rn req.setAttribute("message", message); //设置消息 rn rn catch (SQLException e) rn // TODO Auto-generated catch blockrn e.printStackTrace();rn rn req.getRequestDispatcher("login.jsp").forward(req,res); //转发置login页面 rn rn rnrnrnrnrnimport java.sql.PreparedStatement;rnimport java.sql.ResultSet;rnimport java.sql.SQLException;rnimport java.util.*;rnimport java.io.*;rnimport org.springframework.jdbc.core.*;rnrnpublic class StuDB rn private String sql = null; //声明SQL字符串引用rn DataBaseConnection dbc = null ;rn PreparedStatement pstmt = null ;rn Student stu=null;rn public boolean verify(String StuNO,String pwd) throws SQLException //登陆验证rn boolean result = false; //登陆成功失败标志rn String sql = "SELECT * FROM student WHERE StudentNO='?',Password='?'" ;rn dbc = new DataBaseConnection() ;rn pstmt = dbc.getConnection().prepareStatement(sql) ; rn27行在这里 pstmt.setString(1,StuNO);rn pstmt.setString(2,pwd);rn ResultSet rs = pstmt.executeQuery() ;rn if(rs.next()) //判断查询结果rn result = true;//如果存在用户则值标志位为truern rn rs.close() ;rn pstmt.close() ;rn dbc.close() ;rn return result;//返回标志位rn rn public List getStuInfo(String StuNO) throws SQLException //声明SQL字符串引用rn List all = new ArrayList() ;rn sql = "SELECT * FROM student WHERE StudentNO='?'" ;rn dbc = new DataBaseConnection() ;rn pstmt = dbc.getConnection().prepareStatement(sql) ; rn pstmt.setString(1,StuNO);rn ResultSet rs = pstmt.executeQuery() ;rn if(rs.next())rn stu = new Student() ;rn stu.setStudentNO(rs.getString(1));rn stu.setPassword(rs.getString(2));rn stu.setName(rs.getString(3));rn stu.setAge(rs.getInt(4));rn stu.setGender(rs.getString(5));rn stu.setClasss(rs.getString(6));rn stu.setDepartment(rs.getString(7));rn stu.setPermitted(rs.getInt(8));rn all.add(stu) ;rn rn rs.close() ;rn pstmt.close() ;rn dbc.close() ;rn return all;rn rnrnrnrnrnjava.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).rn at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)rn at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:2796)rn at com.mysql.jdbc.PreparedStatement.setString(PreparedStatement.java:3627)rn at wyf.wyy.StuDB.verify(StuDB.java:27)在上标记处:rn at wyf.wyy.StudentServlet.doPost(StudentServlet.java:41)在上标记处:rn at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)rn at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)rn at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)rn at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)rn at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)rn at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)rn at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)rn at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)rn at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)rn at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)rn at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)rn at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)rn at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)rn at java.lang.Thread.run(Thread.java:619)rn
JavaWeb(JSP)学生信息管理系统
JavaWeb(JSP)学生信息管理系统
javaweb jsp购物车
好,ni yiding yong de zhao ,huanying xiazai
jsp JavaWeb 7个案例
里面有: 1用户注册`2用户登录
JavaWeb学习总结—jsp
二 Jsp 1)Jsp和Servlet很相似,最终编译成的.java文件也含有类似于init,destroy,service的方法,这在项目部署后的work文件夹下可以看到; 2)Jsp的语法是<%%>,中间可以写java代码,也可以写字符串,字符串要带等号,如<%="哈哈"%>; 3)Jsp的注释语法是<%--  --%>,使用Jsp注释的内容不会出...
JavaWeb学习笔记一——JSP
JSP起源 全称:JavaServerPage SUN公司倡导其他公司创建 相应客户端请求,动态生成hHTML,XML等的规范 可以在Web语言中混合JAVA语言进行编程 它具JAVA语言的所有特征 JSP的运行 运行在JSP容器中,主要有:Tomcat(Apache开发),Jetty(Eclipse基金会维护) 学习JSP的基础 JAVA核心基础 HTML基础 其他杂七杂八...
JavaWeb(jsp)连接mysql数据库
在JSP中使用JDBC驱动连接mysql数据库。 Step1: 下载mysql的Java连接程序** https://dev.mysql.com/downloads/connector/j/ Step2: 解压目录下的mysql-connector-java-5.0.24-bin.jar文件就是连接MySql数据库的纯Java驱动程序。将该驱动程序复制到Tomcat服务器
JSP(JavaWeb必备)
JSP_configure_file 博文链接:https://bbpbbf.iteye.com/blog/734795
javaweb教程 JSP
很详细的java web学习教材,包括一个项目实例
jsp之javaweb在学习
Jsp内置对象 request对象 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。request对象具有请求域,即完成客户端的请求之前,该对象一直有效。常用方法如下: String getParameter(String name) 返回name指定参数的参数值String[] get
JavaWeb学习之JSP基本语法
本人为职场新手,想要通过写博客的形式给自己的学习之路做记录,若有错误请指出! 1.JSP表达式(expression)提供了将一个 java 变量或表达式的计算结果输出到客户端的简化方式,它将要输出的变量或表达式直接封装在之中。前提是要有定义。 例如:<% Date date = new Date(); out.print(date); %> 2.JSP脚本片断(scriptlet
javaweb jsp制作留言板
这个留言板可以添加留言薄,重新填写留言,查看所有留言。写了三个.jsp文件, 其代码如下 这是第一个代码也是整体的框架: <%@ page contentType="text/html;charset=UTF-8" %> <% String temp = new String(); temp = (String) application.getAttribute("num"
Javaweb之JSP九大内置对象
今天我学习了一下内置对象(又叫隐含对象),不需要预先声明就可以在脚本代码和表达式中使用,JSP的内置对象有9个,它们分别是:out,request,response,application,page,config,exception,cookie,session。下面详细介绍一下这9大内置对象:    1 out对象:是一个输出流,用来向客户端输出各种数据。其作用域为page(页面执行期)。
JavaWeb JSP基础入门
JSP全称是Java Servlet Pages,他是建立在Servlet规范之上的动态网页开发技术,在JSP中,html代码与java代码共存 一、JSP脚本元素 jsp脚本元素包含以下三个类型 1.JSP Scriptlets   2.JSP 声明语句,3.JSP 表达式   4.JSP 注释 其中 JSP Scriptlets是将Java代码放在&amp;lt;%    %&amp;gt;之间 J...
javaweb入门基础知识jsp
根据自学网整理笔记 1.jsp指令 2.jsp的九大隐式对象 3.jsp标签 4.EL表达式获取域中数据 4.1 EL内置对象 4.2 EL的执行表达式 5 JSTL 1.jsp指令 &amp;lt;%@ page contentType=&quot;text/html;charset=UTF-8&quot; language=&quot;java&quot; %&amp;gt; &amp;lt;%@ include ...
JavaWeb学习——JSP内置对象
内置对象简介 JSP内置对象是Web容器创建的一组对象,不使用new关键字就可以直接使用的内置对象。 &amp;amp;amp;amp;amp;amp;amp;lt;% int[] value={60,70,80}; for(int i:value){ out.println(i); //这里out对象就是内置对象 } %&amp;amp;amp;amp;amp;amp;amp;gt; 常用的JSP内置对象:out、request、response、session、application、Page…
JavaWeb学习(三):jsp
一、jsp介绍   1.jsp出现的原因:很多动态网页大部分都是不变的,只有局部需要动态产生。使用servlet编写复杂而且不便于维护   2.jsp本质:jsp本质是一个servlet 二、请求转发和重定向的区别    request.getRequestDispatcher("apage.jsp").forward(request, response);//转发到apage.j
javaweb(二):JSP执行流程
文章目录1.JSP执行流程1.1 两次访问1.1.1第一次访问1.1.2第二次访问1.2 jsp文件与java文件的分析1.2.1 index.jsp文件1.2.2 index_jsp.java文件 1.JSP执行流程 1.1 两次访问 1.1.1第一次访问 第一次访问:服务端将jsp翻译成java,再将java编译成class文件。本次实验的jsp文件存放在d:study目录下(如图一),翻译成...
JavaWeb JSP基础教程
JSP基础教程 JSP简介, JSP原理, JSP语法, JSP内置对象, JSP标签
Javaweb JSP技术
JSP技术,针对Javaweb项目的开发
JavaWeb之jsp学习篇
从头开始学jsp,按照公司推荐看慕课网的视频,(可以两倍速度,挺爽)
javaweb jsp 聊天系统
javaweb 聊天系统 自动注册 会话功能 其中包含数据库 资源 和相应的包
javaweb,servlet,jsp,mvc
Java集合反射泛型,Oracle,mvc,jsp,自写框架
JavaWeb JSP技术(上)
一,JSPJSP(Java Server Pages)代替servlet 简化输出,实质就是servlet。 第一次运行JSP的过程:第二次访问同一个页面index.jsp,如果没有更改index.jsp 不会再转换了 直接调用 servlet的service方法,如果更改了index.jsp 就重新转换。二,JSP的五个组成部分(一)模版元素2个html 和xml XML=Exten
JavaWeb学习心得之JSP标签
一、JSP标签概念        JSP标签也称之为Jsp Action元素,它用于在JSP页面中提供业务逻辑功能,避免直接写Java代码。 二、常用JSP标签 常用标签:   1.标签 作用:用于把另外一个资源的内容插入当前JSP页面的内容中,这种JSP在执行时的引入方式称为动态引入。 语法:,其中page属性指定被引入资源的路径,flush是否刷新当前JSP页面已
java学习笔记——javaweb之jsp
1、为什么要学习jsp技术 1.1、什么是jsp? JSP(全称Java Server Pages)是由Sun 公司专门为了解决动态生成HTML文档的技术。 1.2、Servlet程序输出html页面。 在学习jsp技术之前,如果我们要往客户端输出一个页面。我们可以使用Servlet程序来实现。具体的代码如下:     1)Servlet输入html页面的程序代码:   pac...
javaweb jsp文件上传
直接上代码: jsp代码: "java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> "c" uri="http://java.sun.com/jsp/jstl/core" %> html> head> meta http-equiv="Content-Type" content="
Javaweb学习之JSP基础
JSP(Java Server Page):sun制定的用java编写web应用程序的规范,技术,建立在servlet规范之上 JSP页面组成:注释,模板,元素 注释: HTML注释:客户端可见 JSP注释:容器忽略,转译后的java类不可见 Java注释:转译后的Servlet可见,客户端不可见 JSP元素: 1,脚本元素  除去表达式,语法要求每句后面有分号 ==
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview