`

Servlet中打开最大化窗口

    博客分类:
  • JSP
阅读更多
业务需求 : 通过一个映射地址,传参数,进入主页面,打开最大化窗口

完成路程 : 网上收集,个人整理


代码如下:

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 {

 }

}
分享到:
评论

相关推荐

    使用 JSP Servlet上载文件

    - **`cancelUpload()`**:关闭当前窗口,并将焦点返回到打开该窗口的页面。 #### 三、JSP处理逻辑 接下来是JSP部分的代码,它负责处理文件上传请求,并将文件保存到服务器上。 ```jsp *, java.sql.*, java.util...

    Servlet图书管理

    强大报表与查询功能是本软件的最大特色,所有功能在用户需要的使用地方自然体现,不用打开多个窗口重复查询。美萍书店管理软件广泛适用于图书超市,购书中心,图书门店,专业书店等用于图书进销存管理,财务管理,...

    swt/jface mdi

    4. **菜单和工具栏**:这些通常包含操作 MDI 子窗口的命令,如新建、打开、关闭、最大化、最小化等。JFace 的 `Action` 和 `ToolBar` 类可以方便地创建和管理这些元素。 5. **事件处理**:SWT 和 JFace 提供了丰富...

    2021-2022计算机二级等级考试试题及答案No.4096.docx

    2. 要让窗体启动时充满整个屏幕,需要设置WindowState属性为最大化,即WindowState = FormWindowState.Maximized。 3. 实现一次读入多个文件的操作,通常使用InputStream类,如 FileInputStream 或者 FileReader ...

    2021-2022计算机二级等级考试试题及答案No.2188.docx

    17. 对话框的特性:对话框通常没有最大化和最小化按钮,与普通窗口不同。 18. 设置字体加粗:在编程或富文本编辑中,`FontBold`属性用于设置文本为粗体。 19. 关系数据库的基本运算:选择(Selection)、投影...

    2021-2022计算机二级等级考试试题及答案No.17475.docx

    9. **窗口排列**:Windows操作系统提供了窗口层叠、横向平铺和纵向平铺三种排列方式,方便用户管理多个打开的应用窗口。 10. **数据库备份**:SELECT INTO...OUTFILE语句只能导出数据,不包含表结构。所以,不能...

    2021-2022计算机二级等级考试试题及答案No.19573.docx

    4. **对话框大小调整**:对话框通常不能像普通窗口那样自由调整大小,但有些设计允许用户最大化或最小化。 5. **表达式计算**:`y+=z--/++x`,在x=1, y=2, z=3的情况下,先执行`++x`使x=2,然后执行`z--`使z=2,...

    2021-2022计算机二级等级考试试题及答案No.19083.docx

    - **自动设置行高**:在Word中设置表格行高时,如果选择了“自动设置”选项,Word将会自动调整行高以适应该行中字符的最大高度。 ### 7. SQL 命令 - **添加记录**:在SQL中,向数据库表中添加新记录的标准命令是`...

    2021-2022计算机二级等级考试试题及答案No.12726.docx

    3. 窗口的右上角通常有三个按钮:最小化、最大化/还原和关闭,这是大多数图形用户界面的标准设计。 4. 在关系数据库中,同一个关系模型的不同元组(记录)其值不能完全相同,以确保数据的唯一性。 5. 计算机的发展...

    重装myeclipse后常用的设置模板

    - `Ctrl+/`:在代码窗口中添加//注释,在JSP文件中添加<!--~-->注释。 - `Ctrl+Shift+O`:自动导入缺失的包,删除无用的导入。 - `Ctrl+D`:删除当前行。 - `Alt+/`:提供内容辅助。 - `Ctrl+M`:窗口最大化和...

    2021-2022计算机二级等级考试试题及答案No.12373.docx

    8. **Servlet类的位置**:在Java Web应用中,Servlet类通常放在`src/main/java`目录下的包结构中,对应于应用服务器的类加载路径。对于问题中的情况,`HelloServlet`应该在`helloapp/WEB-INF/classes/org/...

    2021-2022计算机二级等级考试试题及答案No.16885.docx

    - **国际化与本地化:** 国际化(Internationalization)和本地化(Localization)是软件工程中两个重要的概念,涉及到如何使软件能够适应不同地区用户的使用习惯。 ### 12. RAM **题目描述:** RAM 是什么? **...

    2021-2022计算机二级等级考试试题及答案No.11687.docx

    **结论**:启动Visual FoxPro 6.0时,除了主窗口外,还会打开命令窗口。 ### 24. 数据库模型 **知识点**:数据库模型的分类及其作用。 - **数据模型**:描述数据结构和数据之间的关系。 - **实体模型**:描述实体...

    2021-2022计算机二级等级考试试题及答案No.14927.docx

    6. Servlet生命周期:首次请求Servlet时,服务器会调用init方法初始化。 7. Java的继承特性:Java类不允许多重继承,但可以实现多个接口以达到类似效果。 8. Windows98多用户桌面:Windows98支持多用户配置,不同...

    Myeclipse快捷键大全

    - **最大化编辑器**:`Ctrl+M` - 最大化或还原当前编辑器窗口。 - **关闭编辑器**:`Ctrl+W` - 关闭当前活动的编辑器。 #### 四、代码导航 - **跳转到声明**:`F3` - 跳转到所选元素的声明处。 - **运行程序**:`...

    2021-2022计算机二级等级考试试题及答案No.1191.docx

    - **正确解析**:大多数现代操作系统(如 Windows)的窗口都具有这些基本操作按钮,便于用户轻松地最小化、最大化/还原和关闭窗口。 ### 17. 数组元素访问 **题目内容:** 若 `int[] a = {12, 45, 34, 46, 23};`,...

    jsmartcom-zh-CN.jar

    它支持设定文件名、设定响应头以控制浏览器的行为(如强制下载或在新窗口中打开),并且能够处理大文件的分块下载,提高了用户体验。通过设置响应头,开发者可以控制文件的MIME类型,从而让浏览器正确识别和处理下载...

    2021-2022计算机二级等级考试试题及答案No.19051.docx

    - **详细解释**: 在Word中,默认情况下只能在一个窗口中编辑文档。虽然可以通过创建多个视图的方式实现同时查看文档的不同部分,但不能像某些编辑器那样在一个文档上打开多个窗口进行编辑。 #### 24. 第一台电子...

    2021-2022计算机二级等级考试试题及答案No.3329.docx

    13. 在Word窗口中,菜单栏下面是快速访问工具栏,而不是常用工具栏。 14. 在Access中,定义为主键的字段不允许有重复值,方便索引。 15. ASP.NET支持的语言包括C#、VB.NET和JScript.NET。 16. Word2000的“自动更正...

    jsp入门知识,真的很不错啊

    - **Ctrl+M**:最大化当前编辑窗口。 - **Ctrl+/**:注释/取消注释当前行。 - **Ctrl+O**:显示当前文件的大纲视图。 - **Ctrl+T**:显示当前文件的类结构。 - **Ctrl+W**:关闭当前编辑器。 - **Ctrl+K**:按单词...

Global site tag (gtag.js) - Google Analytics