Struts2学习笔记二——Struts2环境的搭建

一、Struts2环境的搭建:
1、添加jar包,注意jar冲突问题

2、在web.xml中添加struts2的核心控制器

3、在src下创建struts.xml


二、通过代码验证以上配置是否成功

登录
1、创建登录页面 ,例如:index.jsp
2、创建Action类,并重写execute方法,例如:LoginAction.java

3、在struts.xml配置文件中,添加action类的配置

目录:

 


1.1、添加jar包,注意jar冲突问题


1.2、在web.xml中添加struts2的核心控制器

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
	
	<filter>
	<!--定义核心Filter的名字-->
        <filter-name>struts2</filter-name>
    <!--定义核心Filter的实现类-->
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
	<!--Filterdispatcher用来初始化Struts2并且处理所有的web请求-->
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>

1.3、在src下创建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>
	<!-- 常量 
		struts.devMode
		true - 打开开发模式,即修改struts.xml文件之后,默认自动部署
		false - 产品发布模式,即修改struts.xml文件之后,不会自动部署
	-->
	<constant name="struts.devMode" value="true"></constant>
	<!-- package(包) - 用于解决action重复性问题
		name - 包名,必须要唯一
		namespace - 命名空间(可选项)
			为空或值为"" - 判定url中最后的路径是否存在,如果存在则访问
			"/" - 根路径
			推荐博客:http://blog.csdn.net/menghuannvxia/article/details/47169991
		extends - 继承关系
	 -->
	<package name="default" namespace="/" extends="struts-default">
		<!-- 配置Action类
			name - 在一个package中,必须唯一,相当于servlet中的url
			class - Action类的全路径
		 -->
		<action name="login" class="action.LoginAction">
			<!-- execute方法执行之后的返回值判定 -->
			<result name="success">/success.jsp</result>
			<result name="error">/error.jsp</result>
		</action>
		
	</package>  
</struts>

2. 1、创建相关页面

index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    <title>LOGIN</title>
  </head>
  
  <body>
 	<center>
 		<form action="login">
 			<table>
 				<caption>登录页面</caption>
 				<tr>
 					<th>username:</th>
 					<td>
 						<input type="text" name="userName">
 					</td>
 				</tr>
 				<tr>
 					<th>password:</th>
 					<td>
 						<input type="text" name="passWord">
 					</td>
 				</tr>
 				<tr>
 					<td align="center" colspan="2">
 						<input type="submit" value="登录">
 					</td>
 				</tr>
 			</table>
 		</form>
 	</center>
  </body>
</html>
success.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title></title>

  </head>
  
  <body>
	this is success.jsp.
  </body>
</html>

error.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title></title>

  </head>
  
  <body>
	this is error.jsp.
  </body>
</html>
2.2、创建Action类,并重写execute方法

LoginAction.java

package action;
//类似于Servlet
public class LoginAction {
	private String userName;
	private String passWord;
	
	//必须重写execute方法
	public String execute() {

		System.out.println("username="+userName+";password="+passWord);
		if("root".equals(userName) && "123456".equals(passWord)){
			return "success";//返回参数匹配配置文件中相应的页面
		}
		else return "error";
	}

	//需要写get/set方法 值的获取依靠set方法
	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;
	}
	
}
2.3、在struts.xml配置文件中,添加action类的配置
<!-- 配置Action类
			name - 在一个package中,必须唯一,相当于servlet中的url
			class - Action类的全路径
		 -->
		<action name="login" class="action.LoginAction">
			<!-- execute方法执行之后的返回值判定 -->
			<result name="success">/success.jsp</result>
			<result name="error">/error.jsp</result>
		</action>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值