不用IDE,进行struts2开发的简单实例

1.在tomcat的webapp中创建一个WEB工程myapp,具体的文件及路径如下所示:

①/webapp/myapp/login.jsp

②/webapp/myapp/welcom.jsp

③/webapp/myapp/error.jsp

④/webapp/myapp/WEB-INF/web.xml

⑤/webapp/myapp/WEB-INF/classes

⑥/webapp/myapp/WEB-INF/classes/struts.xml

⑦/webapp/myapp/WEB-INF/classes/test/LoginAction.class

⑧/webapp/myapp/WEB-INF/lib

2.在lib中添加如下jar文件:commons-fileupload-1.3.1、commons-io-2.2、commons-lang3-3.2、commons-logging-1.1.3、freemarker-2.3.19、javassist-3.11.0.GA、ognl-3.0.6、struts2-core-2.3.20、xwork-core-2.3.20(具体版本根据自己使用的Struts2的版本做调整)

3.源代码

#login.jsp

---------------------------------------------------------------------------------

<%@page language="java" contentType="text/html;charset=UTF-8"%>
<html>
<head>
<title>登陆页面</title>
</head>
<body>
<form action="Login.action" method="post">

<tablealign="center">
  <caption><h3>登陆页面</h3></caption>
  <tr>
   <td>username<input type="text"name="username"/></td>
  </tr>
  <tr>
   <td>password<input type="text"name="password"/></td>
  </tr>
  <tr>
   <td colspan="2"><inputtype="submit" value="submit"/><inputtype="reset" value="reset" /></td>
  </tr>
 </table>
</form>
</body>
</html>

#welcome.jsp

---------------------------------------------------------------------------------------

<%@page language="java" contentType="text/html;charset=UTF-8"%>
<html>
<head>
<title>成功页面</title>
</head>
<body>
您已经登陆!
</body>
</html>

#error.jsp

--------------------------------------------------------------------------------

<%@page language="java" contentType="text/html;charset=UTF-8"%>
<html>
<head>
<title>失败页面</title>
</head>
<body>
登陆失败!
</body>
</html>

#LoginAction.java

-----------------------------------------------------------------------

packagetest;
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
 {
  if (getUsername().equals("scott") &&getPassword().equals("tiger") )
  {
   return "success";
  }
  else
  {
   return "error";
  }
 }
}

4.web.xml配置

--------------------------------------------------------------------------------------

<?xmlversion="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <filter>
       <filter-name>struts2</filter-name>
       <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>

<filter-mapping>
       <filter-name>struts2</filter-name>
       <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

5.Struts2.xml配置

--------------------------------------------------------------------------------------

<?xmlversion="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
 "-//Apache Software Foundation//DTD Struts Configuration2.3//EN"
 "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
    <constantname="struts.enable.DynamicMethodInvocation" value="false"/>
    <constant name="struts.devMode"value="true" />
    <package name="default" namespace="/"extends="struts-default">
  <action name="Login"class="test.LoginAction" method="execute">
            <resultname="success">/welcome.jsp</result>
            <resultname="error">/error.jsp</result>
        </action>
    </package>
</struts>

6.常见问题

1)输入http://localhost:8080/myapp/login.jsp提示:HTTPStatus 404 - /myapp/login.jsp

主要原因可能有:①lib中的jar文件不够

②struts.xml中的package与action配置有误

2)login.jsp页面点击submit提交后提示空指针错误

主要原因可能有:①LoginAction没有包名,直接存放在了classes的根目录下

时间: 2024-08-06 21:08:55

不用IDE,进行struts2开发的简单实例的相关文章

【SSH进阶之路】Hiberante3搭建开发环境+简单实例(二)

Hibernate是非常典型的持久层框架,持久化的思想是非常值得我们学习和研究的.这篇博文,我们主要以实例的形式学习Hibernate,不深究Hibernate的思想和原理,否则,一味追求,苦学思想和原理,到最后可能什么也学不会,从实践入手,熟能生巧,思想和原理自然而然领悟. 上篇博文:[SSH进阶之路]Hibernate基本原理,我们介绍了Hibernate的基本概念.Hibernate的核心以及Hibernate的执行原理,可以很好帮助我们认识Hibernate,再看这篇博客之前,请先回顾上

Struts2原理及简单实例

参考连接: http://blog.csdn.net/laner0515/article/details/27692673/ http://www.cnblogs.com/sobne/articles/5443114.html 一.Struts2原理 设计目标 Struts设计的第一目标就是使MVC模式应用于web程序设计.在这儿MVC模式的好处就不在提了. 技术优势 Struts2有两方面的技术优势,一是所有的Struts2应用程序都是基于client/server HTTP交换协议,The 

VS2008中C#开发webservice简单实例

1.创建工程 文件-> 新建->网站 如下图. 工程建好后,会自动添加如下代码: 1 using System; 2 using System.Linq; 3 using System.Web; 4 using System.Web.Services; 5 using System.Web.Services.Protocols; 6 using System.Xml.Linq; 7 8 [WebService(Namespace = "http://tempuri.org/"

MVVM开发模式简单实例MVVM Demo

本文主要是翻译Rachel Lim的一篇有关MVVM模式介绍的博文 A Simple MVVM Example 并具体给出了一个简单的Demo(原文是以WPF开发的,对于我自己添加的一部分会用红色标注) 现在开始: 在我看来,如果你使用的是WPF或Sliverlight来开发程序就应该使用MVVM设计模式.它是你的代码清晰明了并易于维护. 可问题是网上有很多有关MVVM模式的资源都有自己强大的实现方式.这里我将介绍最基础的MVVM设计模式的实现方法. MVVM  (是Model-View-Vie

MVVM开发模式简单实例MVVM Demo【续】

本文将接着上篇文章,介绍一下三点:(Universal App) 1.将添加Product集合,绑定到列表 2.给点击ListBox的添加选项改变时的事件(要附加依赖属性,和Button点击事件不同) 3.通过自定义类以JSON获取保存数据到存储空间 ------------------------------------------------- 1.添加集合,绑定列表,支持可操作 在ProductViewModel中添加字段.属性: private ObservableCollection<

Struts2开发环境搭建,及一个简单登录功能实例

首先是搭建Struts2环境. 第一步 下载Struts2去Struts官网 http://struts.apache.org/ 下载Struts2组件.截至目前,struts2最新版本为2.3.1.3,下载struts-2.3.16.3-all.zip,解压,放着. 第二步 新建Web Project并导入jar包在MyEclispe中新建Web Project,然后找到解压的Struts2包,在里面apps文件夹下找到struts2-blank.war,解压这个WAR文件,将里面WEB-IN

c++简单的ATL COM开发和调用实例

1.打开VS2010,新建ATL COM 项目,步骤:"文件" -->"新建" -->"项目",选择"Visual C++" -->"ATL 项目" ,填写"名称" FirstCOM -->"确定". 2.ATL 项目向导,勾选 [支持COM+ 1.0]和[支持部件注册器],其他默认,点击完成. 3.切换到类视图,右键单击项目"Fir

Struts2开发基础

Struts2开发基础 struts2采用拦截器的机制来处理用户的请求,使得业务逻辑控制器能够与ServletAPI完全脱离开. 1. Hello World! 配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/

SpringMVC笔记——SSM框架搭建简单实例

落叶枫桥 博客园 首页 新随笔 联系 订阅 管理 SpringMVC笔记——SSM框架搭建简单实例 简介 Spring+SpringMVC+MyBatis框架(SSM)是比较热门的中小型企业级项目开发的框架,对于新手来说也是比较容易学习入门的.虽说容易,但在框架搭建过程中仍然遇到了许多问题,因此用实例记录下来吧. 实例 第一步——导包 Spring框架包及其依赖包 MyBatis框架包及其依赖包 MyBatis-EhCache架包 C3P0架包 MySql数据库驱动包 项目架包如下: 项目结构如