- 浏览: 428663 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (170)
- java (77)
- javascript (5)
- jsp (1)
- servlet (6)
- struts (8)
- hibernate (3)
- spring (4)
- ajax (5)
- jquery (3)
- apache cxf (0)
- ext.js (1)
- hadoop (0)
- android (0)
- html5 (2)
- linux (5)
- flex (1)
- tomcat (1)
- jboss (0)
- nginx (0)
- mysql (16)
- sql server (3)
- oracle (4)
- div+css (0)
- mybatis (4)
- design patterns (22)
- xml (2)
- postgresql (3)
- velocity (1)
- freemarker (1)
- kendo-ui (2)
- ibatis (1)
- socket (1)
- C and C++ (1)
- C# (2)
- 程序设计----算法 (0)
- jersey (1)
- dd (0)
- perl (1)
- shell (0)
最新评论
-
书策稠浊:
兄弟,这tm是Java?
java调用百度地图和谷歌地图 -
fengyunlouyanyu:
jquery----删除指定id的div下的img -
yangjianzhouctgu:
Neoman 写道hi,我看你引入了kendo.web.min ...
kendo-ui中kendoGrid的用法 -
Neoman:
hi,我看你引入了kendo.web.min.js 这个js, ...
kendo-ui中kendoGrid的用法 -
yangjianzhouctgu:
llscp 写道这是JS吧...对的呀
java调用百度地图和谷歌地图
用户登录功能的实现,非法用户不能访问指定资源
代码结构如下:
UserInfo.java代码如下:
package com.bean; public class UserInfo { private String name ; private String password; public UserInfo(){ } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
FilterStation.java
package com.filter; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; public class FilterStation extends HttpServlet implements Filter{ /** * */ private static final long serialVersionUID = 1L; public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpSession session = ((HttpServletRequest)request).getSession(); response.setCharacterEncoding("utf-8"); if(session.getAttribute("user")==null){ PrintWriter out = response.getWriter(); out.print("<script language=javascript>alert('you do not login!');window.location.href='../index.jsp';</script>"); }else{ chain.doFilter(request, response); } } public void init(FilterConfig config) throws ServletException { } }
web.xml代码如下:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" 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_2_5.xsd"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>filterstation</filter-name> <filter-class>com.filter.FilterStation</filter-class> </filter> <filter-mapping> <filter-name>filterstation</filter-name> <url-pattern>/jsp/*</url-pattern> </filter-mapping> </web-app>
index.jsp代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>login</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> </head> <body> <form name="form1" method="post" action="result.jsp"> <table width="233" border="1" cellpadding="0" cellspacing="0"> <tr align="center"> <td width="48" height="30"> 账号 </td> <td width="179"> <input type="text" name="account"> </td> </tr> <tr align="center"> <td height="30"> 密码 </td> <td> <input type="password" name="password"> </td> </tr> </table> <input type="submit" name="Submit" value="提交" /> </form> </body> </html>
result.jsp代码如下:
<%@ page import="com.bean.UserInfo"%> <% request.setCharacterEncoding("utf-8"); String name = request.getParameter("name"); String password = request.getParameter("password"); UserInfo user = new UserInfo(); user.setName(name); user.setPassword(password); session.setAttribute("user", user); response.sendRedirect("jsp/showInformation.jsp"); %>
back.jsp代码如下:
<% session.invalidate(); out.print("<script language='javascript'> window.location.href='../index.jsp';</script>"); %>
showInformation.jsp代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>show information</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> </head> <body> <script language="javascript"> window.alert('您登录成功'); window.location.href="jsp/back.jsp"; </script> </body> </html>
运行结果:
合法用户登录
非法访问资源
发表评论
-
spring boot应用测试框架介绍
2018-07-19 14:44 751个人原创博客:spring boot应用测试框架介绍 -
可执行jar包的配置与运行
2017-06-04 19:42 1007spring boot项目可以以jar包的形式执行运行。s ... -
多线程并发
2016-05-21 23:49 0Splitter.on('|').trimResults(). ... -
jdk动态代理实现原理
2016-05-09 23:12 773jdk的动态代理即使用反射来实现,具体由Proxy、Invoc ... -
spring常见注解
2016-05-01 23:33 12321.Autowired 通过spring的依赖注入功能来 ... -
spring常见配置作用
2016-04-29 23:08 933一般应用中常见spring的 ... -
数据来自两个系统时的内存分页算法
2016-04-24 23:12 842业务数据来自a-app与b-app,其中a-app中数据的业务 ... -
linux下java web开发环境搭建
2016-04-10 14:09 1134一般的java web开发涉及到的开发工具有:jdk、tomc ... -
linux下md5sum和DigestUtils.md5Hex的关系
2015-12-19 22:30 8522本文对linux下md5sum命令和java中DigestUt ... -
基于jersey的web service
2015-11-22 22:55 1007本文是基于jersey的web service 的两个小例子, ... -
面试总结----spring
2015-05-19 22:17 911spring在面试中经常被 ... -
面试总结----多线程
2015-05-18 22:10 897面试过程中,多线程被问到的概率非常大,差不多都会问的。 下面 ... -
面试总结----java虚拟机
2015-05-17 23:20 741在面试过程中,java虚拟机被问到的概率非常大,应该是每场面试 ... -
面试总结----java集合
2015-05-17 11:57 676春节刚过,打算换一份工作,于是就开始了一段准备面试的生活,准备 ... -
json串与对象之间转换的几种实现方式
2015-01-24 18:56 1878这里使用了gson,fastjson,jackson,json ... -
google关于事件的生产者消费者模式实现例子
2015-01-24 11:28 976google使用生产者/消费者模式实现了事件的产生传播处理过程 ... -
图形化显示---冒泡排序
2014-12-05 22:17 917代码: package com.thread.singal ... -
多线程----wait/notify
2014-11-06 22:06 686线程同步:两个线程依次对同一变量进行操作。 packag ... -
多线程-----阻塞队列
2014-11-05 22:43 850使用一个线程将一个指定目录下面的所有文件放在一个阻塞队列中,用 ... -
迷宫的最短路径
2014-08-19 00:31 3763代码如下: package com.chapterO ...
相关推荐
在压缩包文件"ServletLearningChapter2_2"中,可能包含了关于Servlet和Filter的更多学习材料,包括代码示例、练习项目等,这将有助于你更深入地理解和掌握这些概念。建议结合这些资源进行实践操作,以巩固理论知识。
Servlet Filter 是Java Servlet API中的一个重要组件,主要用于在Servlet处理请求之前或之后进行拦截处理,例如权限检查、日志记录、内容转换等。进行Servlet Filter的单元测试是确保Filter功能正确性和健壮性的重要...
Servlet、Filter 和 Listener 是 JavaEE 中三种重要的组件,它们在 Web 开发中扮演着重要的角色。Servlet 负责处理客户端的请求,Filter 负责过滤和拦截 Web 资源,而 Listener 负责监听Servlet 容器中的事件。
每个Filter的doFilter()方法会被调用,直到请求达到Servlet,或者在Filter中中断过滤链。 4. **Filter接口** - **init()**:在Filter实例化后,Web容器会调用一次init()方法,用于初始化Filter,可以在此方法中...
Servlet和Filter是Java Web开发中的两个重要概念,它们在构建动态Web应用程序中起着关键作用。Servlet是一种Java类,用于扩展服务器的功能,处理客户端(如浏览器)的请求,并向其发送响应。而Filter则是在Servlet...
本篇博客“简单使用Filter模拟Servlet中的过滤器”主要探讨了如何在实际应用中实现和配置Filter,以及其工作原理。虽然描述部分为空,但我们可以从标题推测,博主可能详细讲解了如何创建一个基本的Filter类,实现...
Servlet之Filter是Java Web开发中的一个重要概念,它在Servlet规范中扮演着不可或缺的角色。Filter(过滤器)允许开发者在请求到达目标Servlet之前或之后对请求和响应进行处理,提供了诸如数据验证、日志记录、字符...
### Servlet与JSP与Filter的使用详解 #### 一、Servlet与JSP的基本概念 Servlet是一种Java技术,用于创建动态Web应用程序。它本质上是一个Java类,由Web服务器或应用服务器加载,以响应客户端请求。Servlet可以...
特别是在Java EE环境中,如何有效地整合Spring与Servlet、Filter等核心组件,对于构建高性能、高灵活性的应用系统至关重要。本文将深入探讨Spring管理Filter和Servlet的机制与实践步骤,帮助开发者更好地理解和运用...
Servlet Filter是Java Servlet API中的一个重要概念,它是Servlet容器(如Tomcat、Jetty等)提供的一种拦截请求和响应的能力,允许开发者在请求到达目标Servlet之前或之后进行处理。Filter可以用于实现诸如认证、...
在这个压缩包“servlet_filter.rar”中,我们聚焦于Servlet Filter的重写以及如何利用它来解决乱码问题和过滤敏感字符。 首先,让我们深入理解Servlet Filter的工作原理。Servlet Filter是一个实现了`javax.servlet...
通过配置`<filter>`和`<filter-mapping>`元素在web.xml中指定Filter的使用。 综上所述,`javax.servlet` jar包和`javax.servlet.jsp` jar包是Java Web开发不可或缺的部分,它们提供了处理HTTP请求的核心接口和类,...
**JSP、Servlet与Filter详解** 在Web开发领域,Java技术是不可或缺的一部分,其中JSP(JavaServer Pages)...在实际项目中,合理利用Filter可以提高应用的安全性和性能,而JSP和Servlet则负责处理用户交互和业务逻辑。
在本文中,我们将深入探讨如何使用JSP、Servlet、Filter和JavaBean来实现一个权限管理的实例。这些技术是构建动态Web应用的核心组件,尤其是在处理用户登录和权限控制时。 首先,`JSP (JavaServer Pages)`是一种...
在Filter中,可以通过调用`doFilter()`方法将请求传递给下一个Filter或目标资源。Filter还可以选择是否中断请求链,通过调用`Chain.doFilter()`来实现。 总之,Filter在JSP和Servlet应用中提供了强大的功能,允许...
以上就是"servlet filter大全"中可能涵盖的一些关键知识点,它们在实际开发中扮演着重要角色,提升应用的健壮性和用户体验。了解并熟练运用这些过滤器,对于任何Java Web开发者来说都是至关重要的。通过学习和实践,...
在给定的压缩包文件中,"Filter"可能包含了一个或多个实现了Filter接口的示例类,它们展示了如何配置和使用过滤器。"Listener"文件可能包含实现了不同监听器接口的示例,用于展示监听器的工作原理。而"Servlet"文件...
这份"Servlet中文帮助文档"提供了关于Servlet API的详细描述,便于开发者理解和使用。 一、Servlet简介 Servlet是Java语言编写的应用程序,运行在服务器端,用于接收和响应HTTP请求。它们可以生成动态内容,如HTML...