业务需求 : 通过一个映射地址,传参数,进入主页面,打开最大化窗口
完成路程 : 网上收集,个人整理
代码如下:
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 org.apache.log4j.LogManager;
/**
*过滤,关闭当前Servlet,打开最大化窗口,进入主页面
* */
public class WindowOpenServlet implements Filter {
private static final org.apache.log4j.Logger logger = LogManager
.getLogger(WindowOpenServlet.class);
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
StringBuffer sbr = new StringBuffer();
sbr.append("");
sbr.append("screenY = window.screen.availHeight;");
sbr.append("screenX = window.screen.availWidth;");
//LEFT=0,TOP=0,HEIGHT=screenY,WIDTH=screenX
sbr.append("properties=\"menubar=no,toolbar=no,location=no,directories=no,scrollbars=no,resizable=yes,status=no\";");
sbr.append("window.opener = null;");
sbr.append("window.close();");
sbr.append("var mywin = window.open(\"/main?").append(req.getQueryString())
.append("\",\"_blank\",properties);");
sbr.append("mywin.moveTo(0, 0);");
sbr.append("mywin.resizeTo(screenX,screenY);");
sbr.append("");
String script = sbr.toString();
logger.info("script: "+script);
try {
java.io.PrintWriter out = res.getWriter();
out = res.getWriter();
out.write(script);
out.flush();
out.close();
} catch (Exception e) {
logger.error("打开新窗口出错..." + e.getMessage(), e);
throw new RuntimeException("打开新窗口出错..." + e.getMessage(), e);
}
}
public void init(FilterConfig arg0) throws ServletException {
}
}
分享到:
相关推荐
- **`cancelUpload()`**:关闭当前窗口,并将焦点返回到打开该窗口的页面。 #### 三、JSP处理逻辑 接下来是JSP部分的代码,它负责处理文件上传请求,并将文件保存到服务器上。 ```jsp *, java.sql.*, java.util...
强大报表与查询功能是本软件的最大特色,所有功能在用户需要的使用地方自然体现,不用打开多个窗口重复查询。美萍书店管理软件广泛适用于图书超市,购书中心,图书门店,专业书店等用于图书进销存管理,财务管理,...
4. **菜单和工具栏**:这些通常包含操作 MDI 子窗口的命令,如新建、打开、关闭、最大化、最小化等。JFace 的 `Action` 和 `ToolBar` 类可以方便地创建和管理这些元素。 5. **事件处理**:SWT 和 JFace 提供了丰富...
2. 要让窗体启动时充满整个屏幕,需要设置WindowState属性为最大化,即WindowState = FormWindowState.Maximized。 3. 实现一次读入多个文件的操作,通常使用InputStream类,如 FileInputStream 或者 FileReader ...
17. 对话框的特性:对话框通常没有最大化和最小化按钮,与普通窗口不同。 18. 设置字体加粗:在编程或富文本编辑中,`FontBold`属性用于设置文本为粗体。 19. 关系数据库的基本运算:选择(Selection)、投影...
9. **窗口排列**:Windows操作系统提供了窗口层叠、横向平铺和纵向平铺三种排列方式,方便用户管理多个打开的应用窗口。 10. **数据库备份**:SELECT INTO...OUTFILE语句只能导出数据,不包含表结构。所以,不能...
4. **对话框大小调整**:对话框通常不能像普通窗口那样自由调整大小,但有些设计允许用户最大化或最小化。 5. **表达式计算**:`y+=z--/++x`,在x=1, y=2, z=3的情况下,先执行`++x`使x=2,然后执行`z--`使z=2,...
- **自动设置行高**:在Word中设置表格行高时,如果选择了“自动设置”选项,Word将会自动调整行高以适应该行中字符的最大高度。 ### 7. SQL 命令 - **添加记录**:在SQL中,向数据库表中添加新记录的标准命令是`...
3. 窗口的右上角通常有三个按钮:最小化、最大化/还原和关闭,这是大多数图形用户界面的标准设计。 4. 在关系数据库中,同一个关系模型的不同元组(记录)其值不能完全相同,以确保数据的唯一性。 5. 计算机的发展...
- `Ctrl+/`:在代码窗口中添加//注释,在JSP文件中添加<!--~-->注释。 - `Ctrl+Shift+O`:自动导入缺失的包,删除无用的导入。 - `Ctrl+D`:删除当前行。 - `Alt+/`:提供内容辅助。 - `Ctrl+M`:窗口最大化和...
8. **Servlet类的位置**:在Java Web应用中,Servlet类通常放在`src/main/java`目录下的包结构中,对应于应用服务器的类加载路径。对于问题中的情况,`HelloServlet`应该在`helloapp/WEB-INF/classes/org/...
- **国际化与本地化:** 国际化(Internationalization)和本地化(Localization)是软件工程中两个重要的概念,涉及到如何使软件能够适应不同地区用户的使用习惯。 ### 12. RAM **题目描述:** RAM 是什么? **...
**结论**:启动Visual FoxPro 6.0时,除了主窗口外,还会打开命令窗口。 ### 24. 数据库模型 **知识点**:数据库模型的分类及其作用。 - **数据模型**:描述数据结构和数据之间的关系。 - **实体模型**:描述实体...
6. Servlet生命周期:首次请求Servlet时,服务器会调用init方法初始化。 7. Java的继承特性:Java类不允许多重继承,但可以实现多个接口以达到类似效果。 8. Windows98多用户桌面:Windows98支持多用户配置,不同...
- **最大化编辑器**:`Ctrl+M` - 最大化或还原当前编辑器窗口。 - **关闭编辑器**:`Ctrl+W` - 关闭当前活动的编辑器。 #### 四、代码导航 - **跳转到声明**:`F3` - 跳转到所选元素的声明处。 - **运行程序**:`...
- **正确解析**:大多数现代操作系统(如 Windows)的窗口都具有这些基本操作按钮,便于用户轻松地最小化、最大化/还原和关闭窗口。 ### 17. 数组元素访问 **题目内容:** 若 `int[] a = {12, 45, 34, 46, 23};`,...
它支持设定文件名、设定响应头以控制浏览器的行为(如强制下载或在新窗口中打开),并且能够处理大文件的分块下载,提高了用户体验。通过设置响应头,开发者可以控制文件的MIME类型,从而让浏览器正确识别和处理下载...
- **详细解释**: 在Word中,默认情况下只能在一个窗口中编辑文档。虽然可以通过创建多个视图的方式实现同时查看文档的不同部分,但不能像某些编辑器那样在一个文档上打开多个窗口进行编辑。 #### 24. 第一台电子...
13. 在Word窗口中,菜单栏下面是快速访问工具栏,而不是常用工具栏。 14. 在Access中,定义为主键的字段不允许有重复值,方便索引。 15. ASP.NET支持的语言包括C#、VB.NET和JScript.NET。 16. Word2000的“自动更正...
- **Ctrl+M**:最大化当前编辑窗口。 - **Ctrl+/**:注释/取消注释当前行。 - **Ctrl+O**:显示当前文件的大纲视图。 - **Ctrl+T**:显示当前文件的类结构。 - **Ctrl+W**:关闭当前编辑器。 - **Ctrl+K**:按单词...