写这个只是完成使用js文件参数进行用户验证的处理的jsp 版,已经写过 asp.net php nodejs 以及纯js的,现在完善jsp的

使用的技术是比较简单的就是站点应用我们的js脚本,但是是带参数文件的,在我们的js存储的站点使用servlet 进行用户请求的参数的处理,

对于不同的用户显示不同的js脚本。实现如下:

1.引用js 的web 文件

<html>
<head>
<script type="text/javascript" src="http://localhost:8080/mydemo/scripts/server.js?username=dalong111" ></script>
<script>
function demo()
{
var userdata=new user('dalogn eeeee',777);
alert(userdata.say());
}
</script>
</head>
<body>
<style>
#div
{
margin-left:auto;
margin-right:auto;
width:90%;
height:auto; text-align:center;
background-color:white; }
</style>
<div id="div">
this is a demo
<div>
<button onclick="userdemo()">click</button>
</body> </html>

就是一个很简单的html页面,之后调用我们传递的js 代码

2.创建jsp web站点

使用myeclipse 即可,比较简单

具体的文件介绍webroot 下的scripts 文件夹就是需要引用的文件。

包userservice 中是我们使用servlet 进行判断的代码

package userservice;

import java.io.IOException;
import java.io.PrintWriter; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class dalongservlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException //重载doGet()方法 { String tep=request.getQueryString();
String username=request.getParameter("username"); PrintWriter out = response.getWriter();
if(username.equals("dalong"))
{
out.println("function userdemo(){alert('"+username+"')}");
}
else
{
out.println("function userdemo(){alert('not validata user')}"); } } }

以上是处理的servlet代码 主要是判断用户名,并返回不同的js文件内容

3. web.xml 文件的配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>dalongdemo</servlet-name>
<servlet-class>userservice.dalongservlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dalongdemo</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>

4.进行测试

username为dalong的

username 为dalong11的

以上就是测试结果

5.总结

使用代码对于引用我们站点的文件进行控制可以方便对于我们的站点的资源的安全控制,使用js文件进行参数传递可以发挥

js脚本在web 开发中的巨大,提高系统的灵活性。

jsp servlet 进行基于js的用户验证的更多相关文章

  1. 基于jsp+servlet图书管理系统之后台用户信息修改操作

    上一篇的博客写的是查询操作,且附有源码和数据库,这篇博客写的是修改操作,附有从头至尾写的代码(详细的注释)和数据库! 此次修改操作的源码和数据库:http://download.csdn.net/de ...

  2. 基于jsp+servlet图书管理系统之后台用户信息删除操作

    上一篇的博客写的是修改操作,且附有源码和数据库,这篇博客写的是删除操作,附有从头至尾写的代码(详细的注释)和数据库! 此次删除操作的源码和数据库:http://download.csdn.net/de ...

  3. 基于jsp+servlet图书管理系统之后台用户信息插入操作

    前奏: 刚开始接触博客园写博客,就是写写平时学的基础知识,慢慢发现大神写的博客思路很清晰,知识很丰富,非常又价值,反思自己写的,顿时感觉非常low,有相当长一段时间没有分享自己的知识.于是静下心来钻研 ...

  4. 基于jsp+servlet图书管理系统之后台用户信息查询操作

    上一篇的博客写的是插入操作,且附有源码和数据库,这篇博客写的是查询操作,附有从头至尾写的代码(详细的注释)和数据库! 此次查询操作的源码和数据库:http://download.csdn.net/de ...

  5. 基于JS的文本验证

    1,不能为空 <input type="text" onblur="if(this.value.replace(/^ +| +$/g,'')=='')alert(' ...

  6. 基于JS的身份证验证(完整版)

    var Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 ]; // 加权因子 var ValideCode = [ 1, 0 ...

  7. 基于cookie实现用户验证

    #!/usr/bin/env python import tornado.ioloop import tornado.web class IndexHander(tornado.web.Request ...

  8. python_tornado_session用户验证

    什么是session? -- Django中带有session,tornado中自己写 -- 逻辑整理 用户请求过来,验证通过,随机生成一个字符串当作value返回给浏览器, 在服务器中用户信息与随机 ...

  9. 基于jsp+servlet图书管理系统之后台万能模板

    前奏: 刚开始接触博客园写博客,就是写写平时学的基础知识,慢慢发现大神写的博客思路很清晰,知识很丰富,非常又价值,反思自己写的,顿时感觉非常low,有相当长一段时间没有分享自己的知识.于是静下心来钻研 ...

随机推荐

  1. javaScript 的 map() reduce() foreach() filter()

    map(映射), reduce(规约), forEach(遍历), filter(过滤),它们都是高阶函数,都是以传入不同的函数来以不同的方式操作数组元.ie都不支持 一.map方法 *概述 map( ...

  2. python-day34--并发编程之多线程

    理论部分 一.什么是线程: 1.线程:一条流水线的工作过程  2.一个进程里至少有一个线程,这个线程叫主线程 进程里真正干活的就是线程 3.进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资 ...

  3. 贪心(一)NYOJ题目12

    #include <iostream> #include<cmath> #include "algorithm" using namespace std; ...

  4. Python笔记初识

    Python笔记初识

  5. 快速切题 sgu116. Index of super-prime bfs+树思想

    116. Index of super-prime time limit per test: 0.25 sec. memory limit per test: 4096 KB Let P1, P2, ...

  6. Python Django 之 Template 模板语言简介

    一.什么事模板语言 html+逻辑控制语句 二.模板语言的作用 帮助前端处理后端发来的数据,方便前端展示(杂糅渲染) 三.模板语言语法 1.{{变量}} 变量使用双大括号{{}} 2.万能的句点号. ...

  7. 关于while(cin>>c)语句的理解

    1.while(cin>>c)条件语句,其功能是检测输入流中的输入是否有效,若是文件结束标记或者非法输入,则条件判断为假,否则为真. 2.windows下的文件结束标记是Ctrl+z,Li ...

  8. CentOS 7 Crontab

    Crontab默认每分钟读取 /etc/crontab 文件./etc/cron.d/目录和/var/spool/cron/目录一次,3者对应任务的建立格式是一致的,只是/var/spool/cron ...

  9. python笔记01:基础知识

    1.4 数字和表达式 # -*- coding:utf-8 -*- #1.4 #除法 print 1 / 2 print 1.0 / 2 print 10 / 3 print 10.0 / 3.0 p ...

  10. wavepicking

    http://www.seismology.harvard.edu/research/wavePicking.html