2Struts2配置----青软S2SH(笔记)

实例的文件目录如下:两个配置文件(web.xml和struts.xml),一个UserAction.java,三个jsp.

1.配置Struts2应用环境:

下载Struts2的jar包,官网是:http://struts.apache.org/download.cgi

下载完整版,里边的lib文件夹里有struts2的核心类库和依赖的第三方类库.

新建立一个web项目,把这些类库导入到项目的lib文件夹中.

一般来说,只要导入基本的几个jar包就好了,其他的需要了再导入,基础jar包如下几个:

配置web.xml文件,实际就是配置StrutsPrepareAndExecuteFilter

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">
    <display-name>chapter02</display-name>
    <!-- 配置Struts 2框架的核心Filter -->
    <filter>
        <!--过滤器名 -->
        <filter-name>struts2</filter-name>
        <!--  配置Struts 2的核心Filter的实现类  -->
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <!--  让Struts 2的核心Filter拦截所有请求  -->
    <filter-mapping>
        <!--过滤器名 -->
        <filter-name>struts2</filter-name>
        <!-- 匹配所有请求 -->
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

2.创建用户视图input.jsp,接收用户的数据.(注意,这里是个示例,实际应用中,jsp要放到WEB-INF中)

在WebContent文件夹里新建立input.jsp,提交的url是user.action

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>用户信息采集</title>
</head>
<body>
<form method="post" action="user.action">
用户名:<input type="text" name="userName" /><br/>
地址:<input type="text" name="address" /><br/>
电话:<input type="text" name="telephone" /><br/>
邮箱:<input type="text" name="email" /><br/>
<input type="submit" value="提交" />
</form>
</body>
</html>

3.创建业务控制器,并实现execute()方法:

package com.qst.chapter02.action;

public class UserAction {
    // 用户名
    private String userName;
    // 地址
    private String address;
    // 电话
    private String telephone;
    // 邮箱
    private String email;

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getTelephone() {
        return telephone;
    }

    public void setTelephone(String telephone) {
        this.telephone = telephone;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String execute() throws Exception {

        if (userName.length() > 0 && address.equals("青岛")) {
            return "success";
        } else {
            return "error";
        }
    }

}

4.在struts.xml中配置业务控制器:

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

<struts>
    <!-- 指定Struts2处于开发阶段,可以进行调试 -->
    <constant name="struts.devMode" value="true" />

    <!-- Struts2的Action都必须配置在package里,此处使用默认package -->
    <package name="default" namespace="/" extends="struts-default">
        <!-- 定义一个名为user的Action,实现类为com.qst.chapter02.action.UserAction -->
        <action name="user" class="com.qst.chapter02.action.UserAction">
            <!-- 配置execute()方法返回值与视图资源之间的映射关系 -->
            <result name="success">/result.jsp</result>
            <result name="error">/error.jsp</result>
        </action>
    </package>

</struts>

5.创建结果视图,显示数据

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

<title>显示用户信息</title>
</head>
<body>
            用户名:${param.userName} <br/>
            地址:${param.address} <br/>
            电话:${param.telephone} <br/>
            邮箱:${param.email} <br/>
</body>
</html>

6.运行tomcat,访问http://127.0.0.1:8080/chapter02/input.jsp

点击提交,

如果提交时,找不到user.action,那么查看这个项目生成的class文件的目录和tomcat引用的目录是不是一个地方.另外,看一下 这个项目生成的class文件的目录下是不是确实有生成的文件.

关于tomcat的用法、配置和异常问题, 以后会单独开帖子记录.

时间: 2024-11-06 01:51:41

2Struts2配置----青软S2SH(笔记)的相关文章

2Struts2基础----青软S2SH(笔记)

5Hibernate入门----青软S2SH(笔记)

这里有个问题,就是这本书第五章的示例代码中的hibernate的jar包有问题,各种找不到类,把lib下的包后换成第六章里的包就好了. 换成5.1的就好了,而且如果只是简单使用hibernate的话,那么,jar包用完整版的required目录里那几个就好,如下图 由于这个教程是以hibernate4.3为基础的,比较老,所以有些地方不太对,另外整理了一篇5Hibernate配置及使用方法----青软S2SH(笔记)

5Hibernate配置及使用方法----青软S2SH(笔记)

关于hibernate的简单配置,先看结构图,我们需要 1.还要弄一下需要的 jar包. 2.配置两个文件(hibernate配置文件和映射文件),不过映射文件可以用注解替代. 3.写一个pojo类,写一个示例demo 1.关于jar包,下载网站http://hibernate.org/orm/downloads/ 下载的完整版的压缩包,解压后,lib里有一个required,这个基本就是需要的jar包,如果有别的需求再另加. 另外,这里边没有连接数据库的包(比如连接mysql的mysql-co

GIFT-EMS礼记----青软S2SH(笔记)

这个S2SH的项目,是这本书的一个贯穿项目,所以这里要记录一下, 看这个项目有两个目的: 1.借助这个项目,学习一下S2SH的综合配置及使用 2.借助这个项目练习一下如何做需求分析和项目架构设计. POJO设计,实际就是数据库设计,在确定了使用的框架之后,,数据库设计是最重要的设计.  这个项目的目录层次设计的并不很好,按说,用户使用的部分,和后台管理部分,这是要分开的

6Hibernate进阶----青软S2SH(笔记)

关于关联关系的配置,用注解配置如下(这里引用的jar包是javax.persistence) // @ManyToOne(fetch=FetchType.LAZY) @ManyToOne(fetch=FetchType.EAGER) @JoinColumn(name="supplier_id",nullable=true) private Supplier supplier; 用xml文件配置如下,这个跟注解配置有些不同,就不详解了,反正我也不会用xml配置 例子 /* 使用HQL对查

7Hibernate高级----青软S2SH(笔记)

4Struts2标签库----青软S2SH(笔记)

这里弄错了,这一堆属性是<datetimepicker>标签的,不是<doubleselect>标签的 输出错误信息这个不错,挺方便的. 这个树形标签,也用了好多网络,分析如下 <tree>在浏览器生成的代码如下 <tree>标签在浏览器生成的代码 这个树形菜单自己写js也是可以实现的,虽然麻烦点,如下面这个例子, http://www.2cto.com/kf/201210/159436.html 总体来说,对于上面这些表单标签中的特殊功能标签,比如<

MySQL主从同步、读写分离配置步骤、问题解决笔记

根据要求配置MySQL主从备份.读写分离,结合网上的文档,对搭建的步骤和出现的问题以及解决的过程做了如下笔记:       现在使用的两台服务器已经安装了MySQL,全是rpm包装的,能正常使用.       为了避免不必要的麻烦,主从服务器MySQL版本尽量保持一致; 环境:192.168.0.1 (Master)           192.168.0.2 (Slave) MySQL Version:Ver 14.14 Distrib 5.1.48, for pc-linux-gnu (i6

“青软杯”安徽科技学院第六届程序设计大赛_专业组

Contest - "青软杯"安徽科技学院第六届程序设计大赛_专业组 Start time:  2015-04-18 08:00:00.0  End time:  2015-04-18 12:00:00.0 Current System Time:  2015-04-21 00:07:42.57  Contest Status:   Ended 关于举办"青软杯"安徽科技学院 第六届程序设计大赛通知 ACM 国际大学生程序设计竞赛 (International Co