Struts2.3.24框架入门之一环境配置及入门实例HelloWorld

本文介绍了如何通过Struts2框架实现一个简单的HelloWorld实例,包括环境搭建、配置文件设置、编码实现等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


Struts框架简单实例——HelloWorld


step1:环境搭建

到Struts官网下载最新版本:http://struts.apache.org/download.cgi

导入必备jar包:

序号

名称

描述

1

commons-fileupload-1.2.2.jar

文件上传组件

2

commons-io-2.0.1.jar

io包

3

commons-lang3-3.1.jar

基础工具包,封装一些常用的基础操作

4

commons-loggin-1.1.1.jar

日志组件

5

freemarker-2.3.19.jar

一个基于模板生成文本输出的通用工具

6

ognl-3.0.6.jar

对象图导航语言(jar包库)

7

strut2-core-2.3.12.jar

Struts2核心jar包

8

xwork-core-2.3.12.jar

xwork核心包

9

javassist-3.15.0-GA.jar

扩展java类和实现


 这里用的是MyEclipse10.6 for Spring,导入struts2.3jar包(项目右键--properties-Java Build Path-Add External Jars或者复制到lib目录下)

step2:配置文件

1.web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  <display-name></display-name>	
  <!-- Struts2框架配置 -->
	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
	</filter>
	<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>


2.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>

	<!-- 指定由spring负责action对象的创建 -->
	<!-- <constant name="struts.objectFactory" value="spring" /> -->
	<!-- 所有匹配的请求都由struts2处理 -->
	<constant name="struts.action.extension" value="action" />
	<!-- 是否启用开发模式 -->
	<constant name="struts.devMode" value="false" />
	<!-- struts配置文件改动后,是否重新加载 -->
	<constant name="struts.configuration.xml.reload" value="true" />
	<!-- 设置浏览器是否缓存静态内容 -->
	<constant name="struts.serve.static.browserCache" value="false" />
	<!-- 请求参数的编码方式 -->
	<constant name="struts.i18n.encoding" value="utf-8" />
	<!-- 每次HTTP请求系统都重新加载资源文件,有助于开发 -->
	<constant name="struts.i18n.reload" value="true" />
	<!-- 让struts2支持动态方法调用 -->
	<constant name="struts.enable.DynamicMethodInvocation" value="true" />
	<!-- Action名称中是否还是用斜线 -->
	<constant name="struts.enable.SlashesInActionNames" value="false" />
	<!-- 允许标签中使用表达式语法 -->
	<constant name="struts.tag.altSyntax" value="true" />
	<!-- 对于WebLogic,Orion,OC4J此属性应该设置成true -->
	<constant name="struts.dispatcher.parametersWorkaround" value="false" />
	<!-- 把主题改为simple -->
	<constant name="struts.ui.theme" value="simple"></constant>
	
	<package name="basePackage" extends="struts-default">
	     
		<action name="login_*" class="cn.order.action.LoginAction" method="{1}">
			<result name="list">/WEB-INF/jsp/loginAction/login.jsp</result>
		</action> 
		
	</package>
	
	
	
	
</struts>

需要注意的:这个文件里,配置的过滤器的类是:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter。和原来配置的类不一样。原来配置的类是:org.apache.struts2.dispatcher.FilterDispatcher。这是因为,从struts-2.1.3以后,org.apache.struts2.dispatcher.FilterDispatcher值被标注为过时。虽然仍然起作用,但是不建议使用。

step3:编码

1.User.java

package cn.order.model;

public class User {
	private String userName;
	private String userId;
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getUserId() {
		return userId;
	}
	public void setUserId(String userId) {
		this.userId = userId;
	}
	
}

2.LoginAction.java

package cn.order.action;

import cn.order.model.User;

import com.opensymphony.xwork2.ModelDriven;

public class LoginAction implements ModelDriven<User>{

	User model=new User();
	@Override
	public User getModel() {
		return model;
	}
	
	public String list(){
		return "list";
	}

}

3.login.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>登录</title>
</head>
<body>	
	login
</body>
</html>


4.index.jsp

<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
<html>
  <head>
    <title>helloWorld</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
  </head>
  
  <body>
    <s:form name="frmLoign" action="login_list" method="post" >  
        <s:label value="系统登陆"></s:label>  <br>
        <s:textfield name="userName" label="用户名"></s:textfield>  <br>
        <s:password name="password" label="密码"></s:password> <br> 
        <s:submit value="提交"></s:submit>  
    </s:form> 
  </body>
</html>



Step4:流程运行及总结

启动tomcat,在网页地址栏里输入: http://localhost:8080/ 项目的名称,打开登录页面。如下所示:
图
提交后就可以到login.jsp页面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值