zoukankan      html  css  js  c++  java
  • Struts 2 初学的复习巩固

    Q:使用Struts2 开发程序的基本步骤?

    A:

    1)加载Struts2类库;

    2)配置web.xml文件,定义核心Filter来拦截用户请求;

    3)开发视图层页面,即JSP页面;

    4)定义处理用户请求的Action类;

    5)配置struts.xml来配置Action和配置处理结果和物理试图资源之间的对应关系,如

    <action name="login" class="com.zifo.action.LoginAction">
        <result name="success">/success.jsp</result>
        <result name="input">/index.jsp</result>
    </action>

    6)部署、运行项目。

    Q:Struts2中如何获取Servlet的session对象?

    A:

    在Struts2中访问Servlet的session对象有两种方式:与ServletAPI解耦的方式访问和与ServletAPI耦合的方式访问。

    1)解耦的方式:

    public String execute(){
        if(username.equals("admin") && password.equals("akdz04b")){
            Map<String,Object> session = null;
            session = ActionContext.getContext().getSession();
            //CURRENT_USER的定义为private static final String CURRENT_USER = "CURRENT_USER";
            if(session.containsKey(CURRENT_USER)){
                session.remove(CURRENT_USER);
            }
            session.put(CURRENT_USER, username);
            return "success";
        }else{
            return "fail";
        }
    }

    2)耦合的方式

    public String execute(){
        if(username.equals("admin") && password.equals("akdz04b")){
            HttpSession session = null;
            session = ServletActionContext.getRequest().getSession();
            if(session.getAttribute(CURRENT_USER) != null){
                session.removeAttribute(CURRENT_USER);
            }
            session.setAttribute(CURRENT_USER, username);
            return "success";
        }else{
            return "fail";
        }
    }

    Q:Strust2表单标签和普通HTML表单标签有什么不同之处?如何解决表单中的中文乱码问题?

    A:

    Struts2中的<s:form>可以认为是把html中的<form>标签封装扩充了一些功能。下面是struts2文档中对<form>标签的描述

    http://struts.apache.org/release/2.3.x/docs/form.html

    至于出现乱码,原因是因为struts2的默认提交字符编码与JSP页面的编码不一致造成的。

    一般来讲,默认提交汉字字符编码是UTF-8,则需要做如下配置:

    在struts.xml中<struts>标签下,<package>标签之上添加:

    <constant name="struts.i18n.encoding" value="UTF-8" />

    在JSP页面编码修改为:

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

    即保证JSP页面和struts.xml中的编码一致即可。

  • 相关阅读:
    【js】实现输入框不允许输入某些特殊字符
    springboot集成druid实现数据源监控
    SpringBoot整合Druid并配置数据源监控
    SpringBoot集成Druid实现数据源管理和监控
    同一个catch字句中捕获多个java异常
    【JWT】JSON Web Token原理与实现
    行级锁实验:sql语句条件中的索引对锁的影响
    什么是乐观锁,什么是悲观锁,如何实现
    Linux命令与文件的查找which、wheris、locate、find
    vi编辑器永久设置行号、缩进
  • 原文地址:https://www.cnblogs.com/zifo/p/3399648.html
Copyright © 2011-2022 走看看