导航:首页 > 净水问答 > jsp过滤errcode

jsp过滤errcode

发布时间:2024-03-27 14:03:12

1. jsp防止直接通过url访问没有权限的页面

jsp防止直接通过url访问是通过过滤器实现的。
过滤器内容:
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse resp = (HttpServletResponse) response;
String conString = "";
conString = req.getHeader("REFERER");//获取父url--如果不是直接输入的话就是先前的访问过来的页面,要是用户输入了,这个父url是不存在的
if("".equals(conString) || null==conString){ //判断如空森果上一个目录为空斗兆亩的话,说明是用户直接输入url访问的
String servletPath = req.getServletPath();//当前请求url,去掉几个可以直接访问的页面
if(servletPath.contains("index.jsp") || servletPath.contains("admin/login.jsp")){ //跳过index.jsp和登陆Login.jsp
chain.doFilter(request, response);
} else {
resp.sendRedirect("/ejuornal/index.jsp");//跳回首页
}
} else {
chain.doFilter(request, response);
}
}
过滤器配置:
<猜姿?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>FilterPages</filter-name>
<filter-class>com.ejuornal.filter.FilterPages</filter-class>
</filter>
<filter-mapping>
<filter-name>FilterPages</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
</web-app>

2. jsp的验证码怎么让过滤器不过滤

将验证码部分做成一个servlet服务或者action服务,然后再过滤器里对路径进行识别,发现是验证码服务时不处理。

3. jsp中过滤器可以拦截请求和响应吗

过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息。

4. JSP中用filter 过滤某个包中的所有servlet

web.xml中这样配置:

<servlet>

<servlet-name>Login</servlet-name>

<servlet-class>com.zq.servlet.Login</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>Login</servlet-name>

<url-pattern>/servlet/Login</url-pattern>

</servlet-mapping>

或者不配置web.xml在servlet中写注解:

@WebServlet("/servlet/Login")

配置fliter可以在web.xml中这样写:

<filter>

<filter-name>LoginFilter</filter-name>

<filter-class>com.zy.filter.UserLoginFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>LoginFilter</filter-name>

<url-pattern>/servlet/*</url-pattern>

</filter-mapping>

或者不配置web.xml在filter中写注解:

@WebFilter(filterName="/MyFilter",urlPatterns="/servlet/*")

即在所有想过滤的servlet名字前加上“/setvlet”在过滤的时候过滤路径就可以写成“/servlet/*”这样就能过滤所有的Servlet。

5. jsp中为什么加上了过滤器就报错 (HTTP Status 404)

路径配置错误

6. 在JSP页面提交表单,以post方式提交,写了过滤器处理中文乱码问题

可能造成的原因:

  1. 页面 后台业务 数据 中间有一个环节编码不一致。

  2. 是否对该字段做了编码转换。


针对1:

检查页面编码 是什么编码。如:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>

过滤器设置的是什么编码。数据库采用什么编码。然后最好统一编码。


针对2:

看看是否做了强制转换,或者设置了request response的编码。

7. jfinal如何过滤对JSP/html的请求

jfinal对jsp或者html过滤的请求配置:
public class PermissionHandler extends Handler {

@Override
public void handle(String target, HttpServletRequest request,
HttpServletResponse response, boolean[] isHandled) {
int indexJsp= target.lastIndexOf(".jsp");
int indexHtml = target.lastIndexOf(".html");
if (indexJsp!= -1 || indexHtml!= -1) {
System.out.println(target);
if (request.getSession().getAttribute(Const.LOGINUSER) == null) {
System.out.println("没有登陆!跳转到.html");
target = "/login.html";
} else {
System.out.println("登陆了,放行!");
}
}
nextHandler.handle(target, request, response, isHandled);
}

阅读全文

与jsp过滤errcode相关的资料

热点内容
提升泵井作用 浏览:336
金鱼缸中心过滤器 浏览:937
为什么净水器过滤后还是很难喝 浏览:235
丰源饮水机热水口出水是什么原因 浏览:309
小佩饮水机滤芯如何复位 浏览:314
纯水机为什么要加浓缩水 浏览:529
互邦除垢剂 浏览:496
青白江中科污水处理 浏览:45
机车的机油滤芯在哪里 浏览:359
污水处理油污 浏览:785
本田缤智4s店换汽油滤芯多少钱 浏览:256
如何正确选用水处理药剂 浏览:268
医院污水处理在线监测报价 浏览:760
小米1代空气净化器怎么手动调速 浏览:167
直接排放污水需达到的标准 浏览:281
三聚氰胺甲醛树脂氨基反应 浏览:567
污水处理厂怎么配药 浏览:819
污水处理a2o一体化工艺 浏览:120
造纸废水厌氧处理工艺 浏览:893
什么样的水烧开无水垢 浏览:568