实现由index.jsp跳转到success.jsp这么一个功能。
创建两个jsp--index.jsp、success.jsp,一个动作类--HelloAction.java,他们代码如下:
index.jsp:
struts2的核心控制器默认会拦截 .action结尾的url或是没有任何后缀的url
<%@ 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>第一个struts2案例</title>
</head>
<body>
<a href="${pageContext.request.contextPath}/hello">点击可以跳转哦~</a>
</body>
</html>
success.jsp:
<%@ 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>
执行成功啦~
</body>
</html>
HelloAction.java:
ps:servlet就是单例的,可动作类是多例的,也就是每个请求过来都会重新创建一个新的实例,所以这里不存在线程安全问题。
package com.dimples.action;
//动作类,某种意义上来说就是以前的servlet,负责简单的业务处理和跳转
public class HelloAction {
//动作方法
// 规范:1、访问修饰符public
// 2、返回值一般为String(也可以为void)
// 3、方法没有参数
public String sayHello() {
System.out.println("execute success!");
return "success";
}
}
然后在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="p1" extends="struts-default">
<action name="hello" class="com.dimples.action.HelloAction" method="sayHello">
<result name="success" type="dispatcher">/success.jsp</result>
</action>
</package>
</struts>
这样一个入门案例就做好啦!