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中的编码一致即可。

Struts 2 初学的复习巩固的更多相关文章

  1. CATransition转场动画

    背景: 最近在温习动画,分享个简单系统的转场动画 viewcontroller *VC=[self.storyboard instantiateViewControllerWithIdentifier ...

  2. Struts1.2,struts2.0原理分析

    struts1原理: 1.首先我们表单提交到action 2.进入到web.xml 3.web.xml拦截*.do 4.交给ActionServlet 5.找到path属性,获得url 6.找到nam ...

  3. struts 2学习笔记—初学struts 2

    首先我学习了struts 1.x与struts 2的区别: 1.struts 1.x的控制器类必须从Action类继承. 2.struts 2的控制器类可以是一个普通的类,也可以是ActionSupp ...

  4. #C++初学记录 (第一次测试)(A - 复习时间 )

    练习题目一 (A-复习时间) 为了能过个好年,xhd开始复习了,于是每天晚上背着书往教室跑.xhd复习有个习惯,在复习完一门课后,他总是挑一门更简单的课进行复习,而他复习这门课的效率为两门课的难度差的 ...

  5. Struts2初学 struts.xml详解 一

    一.简介    Struts 2是一个MVC框架,以WebWork设计思想为核心,吸收了Struts 1的部分优点 二.详解    首先让我们看一下一个简单的struts.xml文件的结构  < ...

  6. Struts2初学 Struts.xml详解二

    A.使用继承实现设置全局视图    package节点中还可以设置全局的视图,如:     <global-results>         <result name="e ...

  7. Struts初学

    自我概述 今天看了Struts,感觉这是个非常好用的东西!虽然它已经过时了,被springMVC取代了,但是仍然有了解的价值. 可是在学习过程中遇到了很多问题,比如其中一些原理很是抽象,有一些问题莫名 ...

  8. java初学复习

    作为学Java的小白,忽然想看一看自己学了些什么东西,话不多说,(这都是新手弄的总结)让我们看一看: 1.我们要先了解Java技术 Java SE:标准版java技术的基础和核心 Java EE:企业 ...

  9. 初学HTML 常见的标签(一) 文本标签

    最近做iOS开发的过程中, 发现要涉及到JS和原生OC(Swift)的交互, 作为一个Developer, 本着克服一切问题的原则, 开始学习HTML, 在这里记录下自己的学习笔记, 方便以后的复习, ...

随机推荐

  1. [Unity3D]Unity3D发展偷看游戏初期阶段NGUI

    朋友,大家晚上好. 我是秦培.欢迎关注我的博客,我的博客地址blog.csdn.net/qinyuanpei.近期博主開始研究NGUI了,由于NGUI是Unity3D中最为流行的界面插件,所以不管从学 ...

  2. hadoop(六) - ZooKeeper安装与配置

    一. ZooKeeper配置 1.使用winscp上传zk安装包 zookeeper-3.4.5.tar.gz 2.解压安装包tar -zxvf zookeeper-3.4.5.tar.gz -C / ...

  3. NumPy简明教程

    源地址:http://blog.csdn.net/sunny2038/article/details/9002531 http://blog.csdn.net/sunny2038/article/de ...

  4. 高效 Java Web 开发框架 JessMA v3.2.3 beta-1 发布

    JessMA(原名:Portal-Basic)是一套功能完备的高性能 Full-Stack Web 应用开发框架,内置可扩展的 MVC Web 基础架构和 DAO 数据库访问组件(内部已提供了 Hib ...

  5. JS跑马灯

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML>  <HEA ...

  6. 安装Apache Felix OSGI Framework小记

    Felix是apache的开源OSGI服务框架,到 http://felix.apache.org/downloads.cgi 可以下载到最新的版本. 解压后目录结构如下: felix-framewo ...

  7. [项目整理]Win32,MFC的可执行文件只能运行一次

    //第一种方法:控制release版本的exe文件只能运行一次 #ifndef _DEBUG //debug 版本中,项目属性-->预处理器 -->预处理定义: 有_DEBUG if (F ...

  8. EJBCA 在windows上的安装

    为了做EJBCA的封装測试,在我自己电脑上装了个,可是在国内的开发上面的介绍实在是太少.有的也仅仅是些傻瓜式的安装介绍,这是介绍在Windows上安装的过程,(后面介绍下 linux 红帽上的),有些 ...

  9. What is the difference between JRE,JVM and JDK?

    If you are a Java developer, it is very often that you think about understanding the JRE,JVM and JDK ...

  10. SQL Server定时自动抓取耗时SQL并归档数据脚本分享

    原文:SQL Server定时自动抓取耗时SQL并归档数据脚本分享 SQL Server定时自动抓取耗时SQL并归档数据脚本分享 第一步建库 USE [master] GO CREATE DATABA ...