文档章节

struts2下的helloworld(如何让第一个struts2跑起来)——struts2第一讲

一别经年
 一别经年
发布于 2014/06/13 21:13
字数 953
阅读 8
收藏 0
点赞 0
评论 0

注:文章中的全部图片均在附件中明确表明  
首先要安装jdk1.6以及tomcat6和myeclipse 对于这些配置的安装 这里不再细细说明 因为网上好些地方都有的 给个链接吧 http://blog.sina.com.cn/s/blog_5116f6310100b889.html 

其次是下载struts2 
第一步:去struts21的官网 http://struts.apache.org/2.1.6/index.html 
点击下面图1中的的download now,下载图二中的全出即可。 下载后解压待用; 

第二步; 
打开myeclipse tomcat的集成较简单,不多讲;新建一个web project 取名为struts2; 
第三步; 
在刚刚下载的struts2-1-6目录下的lib中复制出如下六个文件 
  commons-logging-1.0.4.jar 
  freemarker-2.3.8.jar  
  ognl-2.6.11.jar  
  struts2-core-2.0.6.jar 
  xwork-2.0.1.jar 
以及(因为是struts2-1-6版本的。所以一下这个文件也必不可少) 
commons-fileupload-1.2.1
 

然后粘贴到WebRoot/WEB-INF/lib即可; 
第四步: 
WebRoot目录下新建一个login.jsp 
代码如下 
login.jsp 

Jsp代码  收藏代码

  1. <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>  

  2. <%  

  3. String path = request.getContextPath();  

  4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  

  5. %>  

  6.   

  7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  

  8. <html>  

  9.   <head>  

  10.     <base href="<%=basePath%>">  

  11.       

  12.     <title>My JSP 'login.jsp' starting page</title>  

  13.       

  14.     <meta http-equiv="pragma" content="no-cache">  

  15.     <meta http-equiv="cache-control" content="no-cache">  

  16.     <meta http-equiv="expires" content="0">      

  17.     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  

  18.     <meta http-equiv="description" content="This is my page">  

  19.     <!--  

  20.     <link rel="stylesheet" type="text/css" href="styles.css">  

  21.     -->  

  22.   

  23.   </head>  

  24.     

  25.   <body>  

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

  27.         username: <input name="username" type="text"><br>  

  28.         password: <input name="password" type="password"><br>  

  29.           

  30.         <input type="submit" value="submit">  

  31.     </form>  

  32.   </body>  

  33. </html>  



第五步:
 
修改WEB-INF下的web.xml文件 
代码如下 
web.xml 

Xml代码  收藏代码

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

  2. <web-app version="2.4"   

  3.     xmlns="http://java.sun.com/xml/ns/j2ee"   

  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   

  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   

  6.     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  

  7.   

  8.     <filter>  

  9.         <filter-name>struts2</filter-name>  

  10.         <!-- 控制器 -->  

  11.         <filter-class>  

  12.         org.apache.struts2.dispatcher.FilterDispatcher  

  13.         </filter-class>  

  14.     </filter>                                                                 

  15.                

  16.                

  17.              <filter-mapping>  

  18.                 <filter-name>struts2</filter-name>  

  19.                 <!-- 任何请求均有过滤器 -->  

  20.                 <url-pattern>/*</url-pattern>  

  21.              </filter-mapping>  

  22. </web-app>  



第六步: 
新建action 
在src目录下新建包com.test.action 
在包中新建一个action代码如下 
LoginAction.java 

Java代码  收藏代码

  1. package com.test.action;  

  2.   

  3. public class LoginAction   

  4. {  

  5.       

  6.   

  7.                         //getter和setter方法   就是根据这里的方法名来匹配客户端的信息  

  8.     public String getUsername() {  

  9.         return username;  

  10.     }  

  11.     public void setUsername(String username) {  

  12.         this.username = username;  

  13.     }  

  14.     public String getPassword() {  

  15.         return password;  

  16.     }  

  17.     public void setPassword(String password) {  

  18.         this.password = password;  

  19.     }  

  20.       

  21.                public String execute() throws Exception  

  22.                {  

  23.                    return "success";  

  24.                }  

  25.       

  26.     //对应表单上的  

  27.     private String username;  

  28.     private String password;  

  29. }  



第七步: 
struts配置文件 

在src目录下新建一个struts.xml代码如下: 

Xml代码  收藏代码

  1. <?xml version="1.0" encoding="utf-8" ?>  

  2. <!DOCTYPE struts PUBLIC  

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

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

  5.               

  6. <struts>  

  7.                      

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

  9.                             <action name="login" class="com.test.action.LoginAction">  

  10.                                         <!-- result没有名字是默认的success -->  

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

  12.                             </action>  

  13.                     </package>  

  14. </struts>  


注意,struts.xml中有句话是 
!DOCTYPE struts PUBLIC 
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 
"http://struts.apache.org/dtds/struts-2.0.dtd"> 

红色这句可能会报错,解决的方法是 将“http://”字样去掉 其他我不知道还有什么方法,有高手知道请指点一二; 

第八步;
 
新建result文件 
在WebRoot目录下新建一个result.jsp文件 代码如下: 

Jsp代码  收藏代码

  1. ]  

  2. <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>  

  3. <%  

  4. String path = request.getContextPath();  

  5. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  

  6. %>  

  7.   

  8. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  

  9. <html>  

  10.   <head>  

  11.     <base href="<%=basePath%>">  

  12.       

  13.     <title>My JSP 'result.jsp' starting page</title>  

  14.       

  15.     <meta http-equiv="pragma" content="no-cache">  

  16.     <meta http-equiv="cache-control" content="no-cache">  

  17.     <meta http-equiv="expires" content="0">      

  18.     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  

  19.     <meta http-equiv="description" content="This is my page">  

  20.     <!--  

  21.     <link rel="stylesheet" type="text/css" href="styles.css">  

  22.     -->  

  23.   

  24.   </head>  

  25.     

  26.   <body>  

  27. helloworld  

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

  29.         password: ${requestScope.password }  

  30.   </body>  

  31. </html>  



至此,已经完成了代码的书写工作。接下去是发布; 
右键点击struts2这个项目的名称,在菜单中选择myeclipse,在选择add and remove project……即可,之后将出现图三 
选择project,点击add发布到指定的tomcat即可、 

最后,打开浏览器。在浏览器 http://localhost:8080/struts2/login.jsp 即可 


附件中有图片和两个源代码;

struts2的类型转换——Struts2第二讲


    本文转载自:http://javaweb.group.iteye.com/

    共有 人打赏支持
    一别经年
    粉丝 17
    博文 173
    码字总数 58546
    作品 0
    西安
    程序员
    java--Struts2入门示例教程(五)

    今天在做一个Struts2的简单实例,楼主看的是大学教科书-《JavaEE基础实用教程》第三章的例子。 由于书有些老了,加上Struts框架又做了一些更新。所以有些地方需要拿出来说下,让新人伙伴们能...

    萧沐垚
    2016/12/16
    15
    0
    新书预告 :《Struts2技术内幕》 —— Struts2源码研究和Web开发研究

    http://www.iteye.com/topic/1117044 简单做一个新书预告,我写的《Struts2技术内幕》将在下个月问世。 这本书应该是国内比较少见的以研究Struts2的源码为主要目标的技术书籍。源码研究类的书...

    ddatsh
    2011/10/26
    1K
    8
    Struts2.3的简单配置使用

    一、下载Struts2,http://struts.apache.org/development/2.x/ 二、解压获取包,放到web工程 三、在Eclipse中新建Dynamic Web Project工程结构目录如下 四,java代码如下 com.lianghao publi...

    魔法王者安琪拉
    2014/03/23
    0
    0
    struts2系统架构及处理流程

    一、struts2系统架构 · 1.FilterDispatcher是整个Struts2的调度中心,也就是MVC中的C(控制中心),根据ActionMapper的结果来决定是否处理请求,如果ActionMapper指出该URL应该被Struts2处理...

    J星星点灯
    2017/12/21
    0
    0
    Struts2中OGNL,valueStack,stackContext的学习

    [/color]学习Struts2,一直不明白表单中的值是怎么传给Action的,上网查了些资料,基本了解了!下面基本是从几个人的BOLG转载过来,以后记不清了再来看~ [color=red]先看看我做的实验jsp页面...

    杨松坤
    2012/07/19
    0
    0
    Java程序员从笨鸟到菜鸟之(三十七)细谈struts2(二)开发第一个struts2的实例

    本文来自:曹胜欢博客专栏。转载请注明出处:http://blog.csdn.net/csh624366188 前面一篇博客(细谈struts2之自己实现struts2框架)带大家对基于mvc业务流程熟悉了一下,现在我们就用对mvc...

    长平狐
    2012/11/12
    42
    0
    HelloWorld概述

    2.1 概述 2.1.1 功能概述 通过上一章的讲述,明白了Struts2是什么,有什么以及能干什么,接下来就该来讨论怎么做的问题了,也就是讨论如何使用Struts2来开发基于MVC的web应用。 按照惯例,学...

    空呗
    2014/01/08
    210
    1
    MVC框架--dingframework

    使用java有多年了,一直以来使用java就是用来做web开发,学习java是从servlet和jsp学起,刚开始感觉到serlvet,jsp好复杂,好强大,jsp强大到可以在页面里写java代码,随心所欲,无所不能。j...

    麦豆
    2011/10/20
    1K
    0
    DWR与Strut2的Action冲突问题

    DWR与Strut2整合后,当运行http://localhost:8080/工程名称/dwr测试暴露的方法时,就会出现如下错误: 要解决这个问题,首先要了解一下: 1、Struts2在web.xml中配置为“/”和“.action,*.j...

    拷贝忍者卡卡习
    2016/11/11
    3
    0
    Java Web学习计划

    --- 本月为入门阶段,从零开始,一步一步的做出一个实用的网站。 深入学习Java语言,初步掌握前端技术,使用JSP和MySQL完成一个简单的网站 第1周 Java高级编程学习目标:
1.深入了解JDK环境...

    SVD
    2016/12/01
    55
    0

    没有更多内容

    加载失败,请刷新页面

    加载更多

    下一页

    聊聊ribbon的超时时间设置

    序 本文主要研究一下ribbon的超时时间设置 配置 实例 ribbon: ReadTimeout: 10000 ConnectTimeout: 10000 MaxAutoRetries: 0 MaxAutoRetriesNextServer: 1 eureka: enabled: ......

    go4it
    7分钟前
    0
    0
    一行代码结果叹为观止,能做到这么极致的也只有python了

    Python 这门语言非常的有趣,不仅可以做高大上的人工智能、大数据、机器学习。还可以用来做 Web、爬虫。还有其它很多的应用。今天我就给大家展示下一行 Python 代码都可以做些什么。 一行打印...

    猫咪编程
    10分钟前
    0
    0
    KingShard使用

    对于kingshard的功能,在git中可以看到明确的功能说明 主要功能: 1. 基础功能 支持SQL读写分离。 支持透明的MySQL连接池,不必每次新建连接。 支持平滑上线DB或下线DB,前端应用无感知。 支...

    mickelfeng
    12分钟前
    0
    0
    Linux 下 查找某个字符串

    如果你想在当前项目下 查找 "test" 这个字符串,可以这样: grep -rn "test" * * : 表示当前目录所有文件,也可以是某个文件名-r 是递归查找-n 是显示行号-R ...

    nsns
    12分钟前
    0
    0
    数据结构 之 B树与红黑树

    https://blog.csdn.net/v_july_v/article/details/6530142 http://www.cnblogs.com/CarpenterLee/p/5503882.html...

    晨猫
    12分钟前
    0
    0
    Linux查看服务器总内存和总硬盘大小

    一、linux CPU大小; 其实应该通过Physical Processor ID来区分单核和双核。而Physical Processor ID可以从cpuinfo或者dmesg中找到. flags 如果有 ht 说明支持超线程技术 判断物理CPU的个数可...

    浮躁的码农
    13分钟前
    0
    0
    Postfix命令行说明

    Postfix tips and Troubleshooting Commands Here's a list of stuff I user everyday and other email admins will also be using, Let me know if I missed anything List/Print current m......

    mingle
    19分钟前
    0
    0
    是时候使用Helm了:Helm, Kubernetes的包管理工具

    目前我们的一个产品共有4套环境:dev环境、test环境、staging环境、production环境。 其中dev, test, staging环境在一个Kubernetes集群上以不同namespace部署,production环境部署在另一个Kub...

    xiaomin0322
    26分钟前
    0
    0
    常见的redis的序列化方式

    概括 一般redis的序列化方式主要有:字符串序列化、json序列化、xml序列化、jdk序列化,具体可查阅org.springframework.data.redis.serializer.RedisSerializer 的实现类,其中对于json序列化...

    菜蚜
    41分钟前
    1
    0
    Linux bash入门

    一、Linux Bash介绍 Bash是UNIX系统下的一个命令解析器,全称为Bourne-Again Shell是一个为GNU开源项目编写的Unix shell。bash功能强大,尤其是在处理自动循环或者耗时大的任务方面可以节省大...

    老韭菜
    44分钟前
    0
    0

    没有更多内容

    加载失败,请刷新页面

    加载更多

    下一页

    返回顶部
    顶部