Struts2(七)基础小结

一、struts2和action

二、Result

三、struts.xml

四、namespace

第一种绝对路径

<form action="${pageContext.request.contextPath }/user/login.action" method="post">

第二种 

<form action="<%=request.getContextPath() %>/user/login.action" method="post">

第三种 页面中直接写以下代码

<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>

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

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<form action="user/login.action" method="post">

提交地址不用改变

五、异常机制

局部异常

package com.pb.web.action;

import java.sql.SQLException;
import java.util.InputMismatchException;

import com.opensymphony.xwork2.ActionSupport;

public class HourseAction extends ActionSupport {

    /**
     *
     */
    private static final long serialVersionUID = 1L;
    public String add() throws InputMismatchException{
        System.out.println("执行添加操作!");

        if(1==1){
        //调用service的方法
            throw new InputMismatchException();
        }

        return "success";
    }
    public String update() throws NullPointerException{
        System.out.println("执行更新操作!");

            if(1==1){
            //调用service的方法
                throw new NullPointerException();

            }

        return "success";
    }
    public String delete() throws SQLException{
        System.out.println("执行删除操作!");

            if(1==1){
            //调用service的方法
                throw new SQLException();
            }

        return "success";
    }

}

页面

<%@ 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>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="hourse_add">
<input type="submit"  value="添加"/>
</form>
<form action="hourse_update">
<input type="submit"  value="更新"/>
</form>
<form action="hourse_delete">
<input type="submit"  value="删除"/>
</form>
</body>
</html>

error页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
 <%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
error.jsp
<s:property value="exception"/>
<s:property value="exceptionStack"/>
</body>
</html>

struts.xml

<global-results>
    <result name="error">/error.jsp</result>
    </global-results>
<action name="hourse_add" class="com.pb.web.action.HourseAction" method="add">
    <result name="success" type="dispatcher">
    /loginSuccess.jsp
    </result>
    <exception-mapping result="error" exception="java.util.InputMismatchException"></exception-mapping>
    </action>
    <action name="hourse_update" class="com.pb.web.action.HourseAction" method="update">
    <result name="success" type="dispatcher">
    /loginSuccess.jsp
    </result>
    <exception-mapping result="error" exception="java.lang.NullPointerException"></exception-mapping>
    </action>
    <action name="hourse_delete" class="com.pb.web.action.HourseAction" method="delete">
    <result name="success" type="dispatcher">
    /loginSuccess.jsp
    </result>
    <exception-mapping result="error" exception="java.sql.SQLException"></exception-mapping>
    </action>

全局异常更改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>

   <!--  <package name="default" namespace="/" extends="struts-default">

        <default-action-ref name="index" />

        <global-results>
            <result name="error">/error.jsp</result>
        </global-results>

        <global-exception-mappings>
            <exception-mapping exception="java.lang.Exception" result="error"/>
        </global-exception-mappings>

        <action name="index">
            <result type="redirectAction">
                <param name="actionName">HelloWorld</param>
                <param name="namespace">/example</param>
            </result>
        </action>
    </package>

    <include file="example.xml"/> -->

    <!-- Add packages here -->
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />
    <package name="base" namespace="/base" extends="struts-default">
    <global-results>
    <result name="error">error.jsp</result>
    </global-results>
    <global-exception-mappings>
    <exception-mapping result="error" exception="java.util.InputMismatchException"></exception-mapping>
     <exception-mapping result="error" exception="java.lang.NullPointerException"></exception-mapping>
     <exception-mapping result="error" exception="java.sql.SQLException"></exception-mapping>
    </global-exception-mappings>

    </package>
            <!--  继承base包-->
   <package name="user"  extends="base">
    <action name="login" class="com.pb.web.action.LoginAction" method="login">
    <result name="success" type="dispatcher">
    /loginSuccess.jsp
<!--    http://www.baidu.com/ -->
    </result>
    <result name="input" type="dispatcher">
    /login.jsp
    </result>
    </action>
    <action name="hourse_add" class="com.pb.web.action.HourseAction" method="add">
    <result name="success" type="dispatcher">
    /loginSuccess.jsp
    </result>

    </action>
    <action name="hourse_update" class="com.pb.web.action.HourseAction" method="update">
    <result name="success" type="dispatcher">
    /loginSuccess.jsp
    </result>

    </action>
    <action name="hourse_delete" class="com.pb.web.action.HourseAction" method="delete">
    <result name="success" type="dispatcher">
    /loginSuccess.jsp
    </result>

    </action>
    </package>
</struts>
时间: 2024-08-28 02:25:39

Struts2(七)基础小结的相关文章

函数基础小结

函数基础小结 一.定义函数 只检测语法,不执行代码 二.函数定义的三种方式 有参函数 无参函数 空函数 三.调用函数 def f1(): return 123 f = f1() f1()*2 lis = [f1(),2] 四.函数的返回值 return返回返回值,函数遇到return会终止,return可以返回任意数据类型的值,同时也可以返回多个值 函数只有在调用阶段才会接收返回值,默认返回None 五.函数的参数 5.1 形参 接收实参,具有描述意义,没有具体值 5.2 实参 具有具体的值,传

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/

Java Web基础小结之Jsp JavaBean

Java Web基础小结In computing, Java Web Start (also known as JavaWS, javaws or JAWS) is a framework developed by Sun Microsystems (now Oracle) that allows users to start application software for the Java Pl... http://bbs.chinaacc.com/forum-2-3/offset-1/to

06-计算机基础小结

目录 计算机基础小结 一.计算机之编程 1.1 什么是编程语言? 1.2 什么是编程? 1.3 为什么要编程? 二.计算机组成原理 2.1 计算机五大组成部分 2.2 32位和64位 2.3 多核CPU 2.4.1 机械硬盘工作原理 2.4.2 固态硬盘工作原理 三.计算机操作系统 3.1 文件是什么? 3.2应用程序是什么? 3.3 操作系统可以做些什么? 3.4 计算机的三大组成? 四.编程语言的分类 4.1 机器语言 4.2 汇编语言 4.3 高级语言 五.网络的瓶颈效应 计算机基础小结

面向对象基础小结

目录 面向对象基础小结 一.面向对象基础小结 1.1 面向对象编程 1.2 类与对象 1.3 对象的属性的查找顺序 1.4 给对象定制独有属性 1.5 对象的绑定方法 1.6 类与数据类型 面向对象基础小结 一.面向对象基础小结 1.1 面向对象编程 面向过程编程:类似于工厂的流水线 优点:逻辑清晰 缺点:扩展性差 面向对象编程:核心是对象二字,对象属性和方法的集合体,面向对象编程就是一堆对象交互 优点:扩展性强 缺点:逻辑非常乱 1.2 类与对象 对象:属性和方法的集合体 类:一系列相同属性和

第七章小结_查找

查找 一些定义 召回率和准确率 因为PTA上的题目会涉及,所以在这里提一下 参考:精度评定中的准确率(Precision)和召回率(Recall),怎样量化评价搜索引擎的结果质量 当进行查找的时候,样本会被分成两类,在这里举例:苹果和非苹果 那么进行检索的时候,就会出现四种情况: 苹果被认为是苹果 不是苹果被认为是苹果 苹果被认为是非苹果 不是苹果被认为是非苹果 召回率(Recall) = 系统检索到的相关文件 / 系统所有相关的文件总数 准确率(Precision) = 系统检索到的相关文件

Struts2命令空间小结

sturts2命名空间小结,以tomcat为服务器 1. 命名空间配置为“/” <package name="default" namespace="/" extends="struts-default"> <action name="HelloWorld" class="com.venn.action.HelloWorldAction"> <result>/jsp/te

Struts2框架基础概念总结

一.struts2框架 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互.Struts2在Struts1融合webwork. ONGL表达式:就是对象图形化导航语言,在前端页面中,访问action的属性.方法;类似于认为就是对JSP的封装,是编程更加方便.(以下详解) 二.framework(框架) 一个基本概念上的结构,用于去解决或者处理复杂的问题,框架是在特

计算机与操作系统基础小结

计算机基础概念 1946年二月美国,世界上第一台电子计算机ENIAC诞生,似乎从这一年开始世界便逐渐变得不一样了.随着半个世纪的时间,计算机技术蓬勃发展,推动人类进入信息社会. 计算机操作界面: ①图形用户界面 ②命令行界面 在ENIAC计算机研制的同时,冯.诺依曼与莫尔小组合作研制EDVAC计算机,采用了存储程序方案,即把解题过程中的每一步用指令表示,并按执行顺序编写成为程序,存放在存储器中,称为冯.诺依曼计算机.冯.诺依曼计算机有着如下几个特点. (1)计算机由运算器,控制器,存储器,输入设