struts2总结二:第一个简单的struts2程序

到struts2官网上面下载struts2的jar包,然后解压。

struts2的入门程序,实现简单的用户登录,struts2里面的helllo world。利用eclipse的开发工作如下:

1.首先建立一个web项目struts_01_hello

2.在WEB-INF下的lib目录导入struts2所需的jar包,如果不知道要导入哪些jar的话,下载的struts2的工程文件(struts-2.3.15.3)的apps目录下有现成的案例,如struts2-blank.war,把该war文件拷贝到tomcat下,启动Tomcat之后该文件自动解压,之后可以在里面的lib目录下找到最基本的struts2工程所需的jar包。

所需jar如下所示:

3.编写用户登录页面login.jsp。

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <title>用户登录</title>
 7 </head>
 8 <body>
 9 <div align="center">
10 <h3>用户登录</h3>
11 <form action="user/login.action" method="post">
12 <table border="1">
13 <tr><td>用户名:</td><td><input type="text" name="useName"></td></tr>
14 <tr><td>密&nbsp;&nbsp;码:</td><td><input type="password" name="usePwd"></td></tr>
15 <tr><center><td colspan="2"><input type="submit" value="登录">&nbsp;&nbsp;
16                 <input type="reset" name="reset" value="取消">
17 </td></center></tr>
18 </table>
19 </form>
20 </div>
21 <div align="center">
22 <a href="user/delete.action">删除</a>
23 </div>
24 </body>
25 </html>

4.编写用户登录成功跳转的页面welcome.jsp,该页面没什么内容,就是一个登录成功跳转的页面。

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <title>欢迎页面</title>
 7 </head>
 8 <body>
 9 <h1>欢迎你,登录成功</h1>
10 </body>
11 </html>

5.编写用户登录失败跳转的页面welcome.jsp,该页面没什么内容,就是一个登录失败跳转的页面。

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <title>出错页面</title>
 7 </head>
 8 <body>
 9 <h1>登录失败</h1>
10 </body>
11 </html>

5.编写Action类,该类继承ActionSupport,当然该类也可以实现Action接口,也可以是一个普通的java类。

 1 package com.pcitc.action.hello;
 2
 3 import com.opensymphony.xwork2.ActionSupport;
 4
 5 public class LoginAction extends ActionSupport {
 6     private static final long serialVersionUID = 1L;
 7     private String useName;
 8     private String usePwd;
 9
10     public String getUseName() {
11         return useName;
12     }
13
14     public void setUseName(String useName) {
15         this.useName = useName;
16     }
17
18     public String getUsePwd() {
19         return usePwd;
20     }
21
22     public void setUsePwd(String usePwd) {
23         this.usePwd = usePwd;
24     }
25
26     public String execute() {
27         if (this.getUseName().equals("admin") && this.getUsePwd().equals("123")) {
28             System.out.println("action执行了,用户名正确" + this.getUseName() + "  "
29                     + this.getUsePwd());
30             return "success";
31         } else
32             System.out.println("action执行了,用户名错误" + this.getUseName() + "  "
33                     + this.getUsePwd());
34         return "error";
35     }
36 }

6.在类路径下,也就是classpath下编写struts.xml文件,该文件也可以按照步骤2的方式从struts2-blank.war去找到,然后拷贝到classpath路径下修改里面的内容即可。struts.xml文件内容如下:

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE struts PUBLIC
 3     "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
 4     "http://struts.apache.org/dtds/struts-2.3.dtd">
 5
 6 <struts>
 7     <package name="parent" namespace="/" extends="struts-default"></package>
 8     <package name="default"  namespace="/user" extends="parent">
 9         <action name="login" class="com.pcitc.action.hello.LoginAction">
10             <result name="success">/welcome.jsp</result>
11             <result name="error">/error.jsp</result>
12         </action>
13     </package>
14 </struts>

7.在web.xml文件里配置struts2的入口,该入口是一个过滤器,配置完成后web.xml里面的内容如下:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
 3   <display-name>struts_02_hello</display-name>
 4    <welcome-file-list>
 5         <welcome-file>login.jsp</welcome-file>
 6     </welcome-file-list>
 7
 8     <filter>
 9         <filter-name>struts2</filter-name>
10         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
11     </filter>
12     <filter-mapping>
13         <filter-name>struts2</filter-name>
14         <url-pattern>*.action</url-pattern>
15     </filter-mapping>
16 </web-app>

到这里一个最基本的struts2实现用户登录就已经完成。接下来把项目部署到Tomcat下启动项目,然后在浏览器输入http://localhost:8080/struts_01_hello/就可以访问用户登录界面。

在用户名处输入admin,密码输入123跳转到登录成功页面。

在用户名处和密码处输入错误跳转到登录失败页面。

注意事项:

1. 加载JAR包的几种方法:

a.按照上面步骤的到apps下的struts2-blank.war中去找,然后拷贝到lib目录下。

b.自定义一个struts2的library

2.实现Action的三种方法

a.继承ActionSupport

b.实现Action接口

c. 普通类,有返回值类型为String的无参函数

3.如果想要修改struts.xm配置文件l为别的名字,那么在web.xml里面struts2的入口过滤器里面配置初始化参数

<filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
        <init-param>
            <param-name>config</param-name>
            <param-value>struts-default.xml,struts-plugin.xml,struts.xml</param-value>
        </init-param>
    </filter>

4.如何解决404错误?

a.检查是否发布

b.发布名和工程名是否一致

c. 配置是否正确

c.1 是否正确配置struts过滤器

c.2 struts.xml是否配置正确

时间: 2024-12-26 05:53:03

struts2总结二:第一个简单的struts2程序的相关文章

struts2学习的第一个简单例子

下面是本人学习struts2的第一个例子 1,建立工程,把相关的jar包复制到项目的lib目录下面,使用到的jar和公测的大体结构如下图: 2,编辑web.xml,配置过滤器 <?xml version="1.0" encoding="UTF-8"?><web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="

第一个简单的JDBC程序

首先创建一个数据库test1,再在数据库test1下创建一个表user 打开命令行 输入 mysql -h 127.0.0.1 -u root -p    ---->再输入密码 登陆了MySQL 输入 CREATE DATABASE test1; 输入USE test1; 输入 CREATE TABLE user( a varchar(20), b varchar(20), c varchar(20) ); 再插入几组数据 INSERT INTO user (a,b,c)VALUES('lisi

第一个简单的flask程序(有问题,求大神帮忙解决)

1.初始化 1 2 3 4 5 6 7 8 9 10 11 12 13 from flask import Flask app = Flask(__name__) @app.route('/') def index():  return '<h1>Hello World!</h1>' if __name__ == '__main__':  app.run(debug=True) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2

java基础学习02(简单的java程序)

简单的java程序 一.完成的目标 1. 理解java程序的基本组成 2. 如何对程序代码进行注释 3. java标识符的命名规则 4. 了解java中的关键字 5. 使用java定义变量或声明变量 二.一个简单的java程序 public class TestJava{ public static void main(String [] args){ //操作一个简单的范例,输出和乘方 int num = 10; //定义一个整型变量 num = 30; //修改变量 System.out.p

简单的struts2框架(三)

相对于上篇博客<简单的struts2框架(二)>的改变,action的动态调用: 在struts.xml方法调用 1 <action name="userAction_*" class="action.UserAction" method="{1}"> 2 <result name="success" type="dispatcher">/user/Success.jsp

使用Struts2和jQuery EasyUI实现简单CRUD系统(八)——Struts与EasyUI使用JSON进行交互

由于前面写了的四篇文章压缩得太厉害,还有真正的原理也没有弄通,所以重新写了使用Struts2和jQuery EasyUI实现简单CRUD系统(一).(二)和(三). 知道ajax与struts间用json交互后,那么EasyUI作为一个JQuery的UI插件集合体,JQuery为一个Javascript库,而ajax是异步的js和xml.JQuery的代码里面就是直接用了Ajax,EasyUI也是一样. 不同于<使用Struts2和jQuery EasyUI实现简单CRUD系统(五)--jsp,

使用Struts2和jQuery EasyUI实现简单CRUD系统(转载汇总)

使用Struts2和jQuery EasyUI实现简单CRUD系统(一)——从零开始,ajax与Servlet的交互 使用Struts2和jQuery EasyUI实现简单CRUD系统(二)——ajax与struts2的交互 使用Struts2和jQuery EasyUI实现简单CRUD系统(三)——ajax,struts2使用json格式的交互 使用Struts2和jQuery EasyUI实现简单CRUD系统(四)——基础环境搭建 使用Struts2和jQuery EasyUI实现简单CRU

Struts2中拦截器的简单实现

Struts2的拦截器和Servlet过滤器类似.在执行Action的execute方法之前,Struts2会首先执行struts.xml中引用 的拦截器,在执行完所有引用的拦截器的intercept方法后,会执行Action的execute方法.在Struts2的拦截器体系中, Struts2的内建拦截器完成了该框架的大部分操作,所以实际的开发过程中通常都是使用系统的拦截器而已.当然我们也可以开发自己的拦截器,类似于过滤器的开发. 原理: Struts2拦截器的实现原理相对简单,当请求Stru

简单的Struts2例子

(1)用MyEclipse建立一个Web Project,项目名称为myStruts2,结构如下图: (2)导入struts2需要的包,我是把解压后的struts-2.3.16.3\apps\struts2-blank\WEB-INF\lib\下面所有的包都导入: (3)修改web.xml,设置filter和filter-mapping: <?xml version="1.0" encoding="GB2312"?> <web-app xmlns=