jsp servlet 进行基于js的用户验证
写这个只是完成使用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 开发中的巨大,提高系统的灵活性。