制作一个登陆表单,然后在另一个页面显示提交的内容,简单的一个小工程。

页面:

//login.jsp   

<form action="login.action" method="post">   

        username:<input type="text" name="username" /><br />    

        password:<input type="password" name="password" /><br />           

        <input type="submit" value="submit" />   

    </form>
//result.jsp   

username : ${requestScope.username}<br />   

    password : ${requestScope.password} 

web.xml是整个站点的配置文件,要是用struts2就必须在web.xml里“安装”struts2框架,安装方式就是在web.xml文件中增加<filter>(过滤器)和<filter-mapping>节点。

<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter> <filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<url-pattern>/*</url-pattern>表示struts2将拦截客户端所有请求

Action类:

LoginAction类里面有两个私有字段username和password,以及其get和set方法。当struts2接受客户端请求时,会调用Action类的setXXX()方法。也就是说struts2会自动调用setXXX()方法,而不是寻找Action的XXX属性。 所以,Action的属性名可以和表单提交的数据字段不一样,但是方法中setXXX(),getXXX()必须和表单字段一样。但是一般取名都是和表单字段一样。

package cn.tshining.action;

public class LoginAction {

private String username;

private String password;

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

public String execute() throws Exception{

return "success";

}

}

首先接触到了几个重要的文件,像web.xml,struts.xml,还有几个Struts2的相关jar包。

然后需要在src目录下新建struts.xml文件,内容为

<?xml version="1.0" encoding="UTF-8" ?>   

<!DOCTYPE struts PUBLIC   

    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"   

    http://struts.apache.org/dtds/struts-2.0.dtd>   

<struts>   

    <package name="struts2" extends="struts-default">   

        <action name="login" class="cn.tshining.action.LoginAction">   

            <result name="success">/result.jsp</result>    

        </action>   

    </package>   

</struts> 

前面为xml的声明:

<package name="struts2" extends="struts-default">是包名,并继承自struts-default。

<action name="login" class="cn.tshining.action.LoginAction">,action的名字和jsp表单中一样,class属性为定义的action类。

<result name="success">/result.jsp</result> name值为 “success”,并会将执行成功的结果转发至result.jsp。

关于用到的jar包:commons-logging-1.0.4.jar,freemarker-2.3.15.jar,ognl-2.7.3.jar,struts2-core-2.1.8.jar,xwork-core-2.1.6.jar这5个jar包

Strust2最基本使用的更多相关文章

  1. strust1与strust2,springmvc三者之间的区别?

    strust1与struts2的区别    1.struts2是基于webWork的一个全新的框架,比struts1学习更方便    Struts2主要是改进了Struts1的servlet和acti ...

  2. MyEclipse10搭建Strust2开发环境

    一.创建一个JavaWeb项目 启动MyEclipse10    ,然后在MyEclipse中创建一个JavaWeb项目,点击[File]---->[New]---->[WebProjec ...

  3. 使用Strust2框架写HelloWorld

    使用Strust2框架写HelloWorld 一.创建JavaWeb项目 二.搭建Stust2 FrameWork开发环境 三步完成Struts2 FrameWork开发环境的搭建 1.加入搭建Str ...

  4. strust2的核心和工作原理

    在学习strust2之前,我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处? 设计目标 Strust设计的第一目标就是使MVC模式应用于web程序设计. 技术优势 Struts2有 ...

  5. 在Strust2 使用datatimepicker 标签引发的一系列问题

    问题:出现无法识别的问题 原因:Strust2.1开始,对于ajax类的标签不再使用<%@ taglib prefix="s" uri="/struts-tags& ...

  6. struts2 Eclipse 中集成strust2开发框架实例

    下面通过建立一个小的实例具体来说明Eclipse 集成struts2,以下实例采用的为 struts2 版本为 struts2 2.2.3.1 为应用. 1. 下载struts2的开发包 第一步: 在 ...

  7. strust2中使用session

    在Struts2里,如果需要在Action中使用session,可以通过下面两种方式得到1.通过ActionContext class中的方法getSession得到2.Action实现org.apa ...

  8. Strust2初之体验

    Struts2的第一个案例 首先我们需要引入架包 entity: package cn.happy.entity; /** * Entity Object * @author Happy * */ p ...

  9. 在strust2 框架下,前端APP传过来的中文数据乱码问题

    public String addMessage() throws UnsupportedEncodingException{ Patient patient=new Patient(); patie ...

  10. [Java面试四]Strust2总结及在面试中的一些问题.

    1. JavaEE软件三层结构和MVC的区别? JavaEE软件三层机构是由sun公司提供JavaEE开发规范的:Web层(表现层).业务逻辑层.数据持久层.[其中WEB层会使用前端控制器模式] MV ...

随机推荐

  1. jquery获取html元素的绝对位置和相对位置

    jquery获取html元素的绝对位置坐标和相对父元素的位置坐标方法:绝对位置坐标:$("#elem").offset().top$("#elem").offs ...

  2. 【风马一族_代码英语】代码英语之八 ADB

    adb wireless   无线调试  adb ---------------------------- preferences 首选项 ---------------------------- a ...

  3. jQuery遮罩层的实现

    遮罩层其实就是一个占据整个页面的半透明效果的页面元素,一般用div实现.页面中实现遮罩层,无非就是为了让用户只能操作弹出窗口的内容,而不允许操作弹出窗口外的内容. 在实现时,我使用了两个div,一个遮 ...

  4. NFS参数配置详细说明

    摘抄自:http://www.linuxidc.com/Linux/2012-05/61527p3.htm 1.NFS概述 NFS:Network file system,网络文件系统: 由sun公司 ...

  5. MDX : Non Empty v/s NonEmpty

    MDX : Non Empty v/s NonEmpty User Rating: / 50 PoorBest Written by Jason Thomas    Friday, 07 May 20 ...

  6. Oracle中Left join的on和where的效率差别

    假设有两个表a.b 使用on Select * from a left join b on b.col = a.col and b.col2 = ‘aa’ 使用 where Select * from ...

  7. PHP获取Cookie模拟登录CURL

    要提取google搜索的部分数据,发现google对于软件抓取它的数据屏蔽的厉害,以前伪造下 USER-AGENT 就可以抓数据,但是现在却不行了.利用抓包数据发现,Google 判断了 cookie ...

  8. 用python实现两个文本合并

    一段时间前在网上看到一段面试题,要求如下: employee文件中记录了工号和姓名 cat employee.txt: 100 Jason Smith 200 John Doe 300 Sanjay ...

  9. 浅谈 WPF布局

    我们首先来了解一下图形化用户界面(Graphic User Interface)也就是我们常常听到的GUI.举个简单的例子,同样是数据,我们可以用控制台程序加格式控制符等输出,但是这些都不如GUI来的 ...

  10. ActiveMQ之jmscorrelationid与selector

    前面讲过JMSCorrelationID主要是用来关联多个Message,例如需要回复一个消息的时候,通常把回复的消息的JMSCorrelationID设置为原来消息的ID.在下面这个例子中,创建了三 ...