String str = request.getParameter("message");//参数
System.out.println(str);
request.setAttribute("username", "over");//属性
//跳转方法1,浏览器地址栏变成了目标页面的url
//到了目标页面之后,request内的参数值,属性值丢失了
//response.sendRedirect("/PrjFu8/result.jsp");
//跳转方法2,浏览器地址栏没有变成目标页面的url
//相当于在服务器内部将目标页面的输出送给客户端,request内的参数值,属性值没有丢失
//ServletContext application = this.getServletContext();
//RequestDispatcher rd = application.getRequestDispatcher("/result.jsp");
//rd.forward(request, response);//<jsp:forward>标签
/*
* 如果在A页面有一些内容要在B页面显示,但是如果内容数量较大,并且是暂态数据
* 可以将内容不要放在session内,放在request内,用跳转方法2跳转到B页面显示,节省内存
* 跳转方法1相当于重新在客户端输入目标页面地址,重新请求
* 方法2相当于服务器内部的跳转
* 如果要跳转到服务器以外的url,必须使用方法1
* */
//表示将目标页面的代码插入到这里运行
response.setCharacterEncoding("gb2312");
ServletContext application = this.getServletContext();
RequestDispatcher rd = application.getRequestDispatcher("/result.jsp");
rd.include(request, response);
//读取全局参数
ServletContext application = this.getServletContext();
String value1 = application.getInitParameter("GlobalParam");
System.out.println(value1);
//读取局部参数
String value2 = this.getInitParameter("LocalParam");
System.out.println(value2);
filter
package filter;
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;
public class EncodingFilter implements Filter {
public EncodingFilter(){
System.out.println("过滤器构造函数");
}
private String encodingName;
public void init(FilterConfig fc) throws ServletException {
//初始化函数,服务器运行能自动运行一次
System.out.println("过滤器init函数");
//fc.getServletContext().getInitParameter(arg0)得到全局参数
encodingName = fc.getInitParameter("encodingName");//得到局部参数
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
//每次提交都会运行
System.out.println("过滤器doFilter函数");
request.setCharacterEncoding(encodingName);//解决中文问题
//过滤器是在提交到达处理模块之前运行,所以这里要将请求向后传递
chain.doFilter(request, response);
}
public void destroy() {
//消亡时运行
System.out.println("过滤器destroy函数");
}
}
xml 设置
<!-- 注册过滤器
-->
- <filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>filter.EncodingFilter</filter-class>
- <init-param>
<param-name>encodingName</param-name>
<param-value>gb2312</param-value>
</init-param>
</filter>
- <!-- 配置过滤器要过滤的对象
-->
- <filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
- <!-- 可以写一个url路径
-->
</filter-mapping>