怎么修改 config/config
1 永久方法 – 需要重启服务器
修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器。
2 临时方法 – 设置系统参数
使用命令setenforce 0
附:
setenf甫揣颠废郯肚奠莎订极orce 1 设置SELinux 成为enforcing模式
setenforce 0 设置SELinux 成为permissive模式
望采纳
配置web.xml面
struts1配置:
action
<.apache.struts.action.ActionServlet
......配置其参数
action
*.do
配置.do.do结尾url都转发
struts2配置:
struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
struts2
*.do
struts2同于struts1用servlet机制通filter机制实现所配置filter
如何实现一个简单地Filter
//?1.?创建一个web项目?
//?2.?编写一个类实现?Filter?接口
//?3.?实现三个方法
//?4.?在web.xml中配置Filter参数
//?1
public?class?MyFilter01?implements?Filter?{
????//?2?
????@Override
????//?filter对象初始化方法?filter对象创建时执行
????//?服务器启动时就创建该filter对象
????public?void?init(FilterConfig?filterConfig)?throws?ServletException?{
????????//?其中参数config代表?该Filter对象的配置信息的对象,内部封装是该filter的配置信息
????????String?filterName?=?filterConfig.getFilterName();
????????ServletContext?servletContext?=?filterConfig.getServletContext();
????????String?initParameter?=?filterConfig.getInitParameter("aaa");
????}
????@Override
????//?执行过滤的核心方法,如果某资源在已经被配置到这个filter进行过滤的话,那么每次访问这个资源都会执行doFilter方法
????public?void?doFilter(ServletRequest?request,?ServletResponse?response,?FilterChain?chain)?throws?IOException,?ServletException?{
????????//?ServletRequest/ServletResponse:每次在执行doFilter方法时?
????????//?web容器负责创建一个request和一个response对象作为doFilter的参数传递进来。
????????//?该request个该response就是在访问目标资源的service方法时的request和response。
????????//?FilterChain:过滤器链对象,通过该对象的doFilter方法可以放行该请求
????????System.out.println("filter");
????????chain.doFilter(request,?response);
????}
????@Override
????//?filter销毁方法?当filter对象销毁时执行该方法?
????//?服务器关闭时filter销毁
????public?void?destroy()?{
????}
}
//?3?配置?
?<filter>
????????<filter-name>Filter01</filter-name>
????????<!--?包名.类名?-->
????????<filter-class>my.filter.MyFilter01</filter-class>
????</filter>
????<filter-mapping>
????????<filter-name>Filter01</filter-name>
????????<!--?拦截所有?-->
????????<url-pattern>/*</url-pattern>
????????<dispatcher></dispatcher>
????</filter-mapping>
如何取消 urlfilter.ini 啊!!!!!
禁用urlfilter.ini地址栏输入opera:config#Network|EnableContentBlocker回车去掉勾保存清空urlfilter.ini中的内容。
然后同步一下。
Opera Link端就的urlfilter.ini也就清空了。
怎么为filter-mapping中的/*设置例外
首先加上初始化参数:
xml代码
excludedpages
/admin/login.do
其次在filter的java代码中加上判断:
java代码
import java.io.ioexception;
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.httpservletrequest;
import javax.servlet.http.httpservletresponse;
import javax.servlet.http.httpsession;
mons.lang3.stringutils;
.iqbon.jcms.util.keyconstant;
/**
* session过滤器
*/
public class sessionfilter implements filter {
/**
* 需要排除的页面
*/
private string excludedpages;
private string[] excludedpagearray;
/**
* @see filter#destroy()
*/
public void destroy() {
return;
}
/**
* 对session进行判断当前访问是否有登录
*/
public void dofilter(servletrequest request, servletresponse response, filterchain chain) throws ioexception, servletexception {
boolean isexcludedpage = false;
for (string page : excludedpagearray) {//判断是否在过滤url之外
if(((httpservletrequest) request).getservletpath().equals(page)){
isexcludedpage = true;
break;
}
}
if (isexcludedpage) {//在过滤url之外
chain.dofilter(request, response);
} else {//不在过滤url之外,判断session是否存在
httpsession session = ((httpservletrequest) request).getsession();
if (session == null || session.getattribute(keyconstant.session_key_user) == null) {
((httpservletresponse) response).sendredirect(“/login.htm”);
} else {
chain.dofilter(request, response);
}
}
}
/**
* 初始化函数,获取需要排除在外的url
*/
public void init(filterconfig fconfig) throws servletexception {
excludedpages = fconfig.getinitparameter(“excludedpages”);
if (stringutils.isnotempty(excludedpages)) {
excludedpagearray = excludedpages.split(“,”);
}
return;
}
}
filterConfig.getInitParameter("redirectURL");是什么意思?
Filter 技术是servlet 2.3 新增加的功能.servlet2.3是sun公司与2000年10月发布的,它的开发者包括许多个人和公司团体,充分体现了sun公司所倡导的代码开放性原则.由于众多的参与者的共同努力,servlet2.3比以往功能都强大了许多,而且性能也有了大幅提高.
它新增加的功能包括:
1. 应用程序生命周期事件控制;
2. 新的国际化;
3. 澄清了类的装载规则;
4. 新的错误及安全属性;
5. 不赞成使用HttpUtils 类;
6. 各种有用的方法;
7. 阐明并扩展了几个servlet DTD;
8. filter功能.
其中最重要的就是filter功能.它使用户可以改变一个request和修改一个 response. Filter 不是一个servlet,它不能产生一个response,它能够在一个request到达servlet之前预处理request,也可以在离开 servlet时处理response.换种说法,filter其实是一个”servlet chaining”(servlet 链).一个filter 包括:
1. 在servlet被调用之前截获;
2. 在servlet被调用之前检查servlet request;
3. 根据需要修改request头和request数据;
4. 根据需要修改response头和response数据;
5. 在servlet被调用之后截获.
你能够配置一个filter 到一个或多个servlet;单个servlet或servlet组能够被多个filter 使用.几个实用的filter 包括:用户辨认filter,日志filter,审核filter,加密filter,符号filter,能改变xml内容的XSLT filter等.
一个filter必须实现javax.servlet.Filter接口并定义三个方法:
1.void setFilterConfig(FilterConfig config) //设置filter 的配置对象;
2. FilterConfig getFilterConfig() //返回filter的配置对象;
3. void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) //执行filter 的工作.
服务器每次只调用setFilterConfig方法一次准备filter 的处理;调用doFilter方法多次以处理不同的请求.FilterConfig接口有方法可以找到filter名字及初始化参数信息.服务器可以设置 FilterConfig为空来指明filter已经终结.
每一个filter从doFilter()方法中得到当前的request及 response.在这个方法里,可以进行任何的针对request及response的操作.(包括收集数据,包装数据等).filter调用 chain.doFilter()方法把控制权交给下一个filter.一个filter在doFilter()方法中结束.如果一个filter想停止 request处理而获得对response的完全的控制,那它可以不调用下一个filter.
一个filter可以包装request 或response以改变几个方法和提供用户定制的属性.Api2.3提供了HttpServletRequestWrapper 和HttpServletResponseWrapper来实现.它们能分派最初的request和response.如果要改变一个方法的特性,必须继承wapper和重写方法.下面是一段简单的日志filter用来记录所有request的持续时间.
public class LogFilter implements Filter {
FilterConfig config;
public void setFilterConfig(FilterConfig config) {
this.config = config;
}
public FilterConfig getFilterConfig() {
return config;
}
public void doFilter(ServletRequest req,
ServletResponse res,
FilterChain chain) {
ServletContext context = getFilterConfig().getServletContext();
long bef = System.currentTimeMillis();
chain.doFilter(req, res); // no chain parameter needed here
long aft = System.currentTimeMillis();
context.log("Request to " req.getRequestURI()
": " (aft-bef));
}
}
当server调用setFilterConfig(),filter保存config信息. 在doFilter()方法中通过config信息得到servletContext.如果要运行这个filter,必须去配置到web.xml中.