`

重拾java之详解第一个struts示例

    博客分类:
  • ssh
阅读更多
     距离暑假的培训到现在,已有将近三个月。现在回头看看,这三个月的日子过得何止一个“惬意”:每天都是吃吃睡睡,除了体重什么都没增长。某天突然惊醒,才发现按部就班去听课的同学都寥寥无几了。大四了,大家都忙着找工作,考研,好像只有我,全世界只剩我一个人,还在迷茫、彷徨。曾经自以为自己把未来的路规划的挺好而沾沾自喜,现如今,也只剩一声叹息了。

    前几天,院里来了企业,进行校园招聘,急急忙忙的跑去。虽然一家外包公司勉强(自我感觉)看中我,但是笔试一结束那叫一个“打击惨重”,曾经还以为自己虽不是精英一枚吧,也算稍有成绩吧!如今再看看,简单的一个例子,&n,神马意思?!抓耳挠腮的那叫一个“惨”字了得!!现在才真正明白“不进步就是在倒退”的深刻含义。眼看着大学时光马上就要消失贻尽,找工作又迫在眉睫,我决定重新拿出笔记,重走我的java之路。

    从ssh开始吧。毕业设计还是要用到的!

第一个Struts示例 ---- 用户登录
步骤:
1、下载并导入Struts jar包,放在web-inf/lib下



2、配置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> 
  
  <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>



3、action 开发

package com.struts2demo.action;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport {

	public String userName;
	public String myPassword;

	public String getUserName() {
		return userName;
	}

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

	public String getMyPassword() {
		return myPassword;
	}

	public void setMyPassword(String myPassword) {
		this.myPassword = myPassword;
	}

	@Override
	public String execute() throws Exception {
		
		if ("scott".equals(userName)) {
			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>
    <!-- package提供了将多个Action组织为一个模块的方式    
          package的名字必须是唯一的 
          
          package可以扩展 
                          当一个package扩展自另一个package时该package会在本身配置的基础上加入扩展的package的配置 
                          父package必须在子package前配置    
                          
          name:package名称    
          extends:继承的父package名称    
          
          abstract:设置package的属性为抽象的 
                           抽象的package不能定义action 值true:false 
                              
          namespace:定义package命名空间
                           该命名空间影响到url的地址,例如此命名空间为/test那么访问是的地址为http://localhost:8080/struts2/test/XX.action    
      --> 

 <!-- struts2的action必须放在一个指定的包空间下定义 -->
 <package name="com.struts2demo.action" extends="struts-default">

  <!-- 定义处理请求URL为login.action的Action 
       name 与form表单中调用的action对应
       -->
  <action name="LoginAction" class="com.struts2demo.action.LoginAction">
   <!-- Action配置 一个Action可以被多次映射(只要action配置中的name不同) name:action名称 
        class: 对应的类的路径
           method: 调用Action中的方法名 -->

   <!-- 定义处理结果字符串和资源之间的映射关系 -->
   <result name="success">ok.jsp</result>

   <result name="error">fail.jsp</result>
  </action>

 </package>


</struts>




5、web页面开发
index.jsp
//一定要在jsp页面头部添加taglib声明

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%
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>My JSP 'index.jsp' starting page</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">
 <!--
 <link rel="stylesheet" type="text/css" href="styles.css">
 -->
  </head>
  
  <body>
  <s:form action="LoginAction"><!-- action 与struts.xml中action标签name一致 -->
          <s:textfield name="userName" label="用户名"></s:textfield><br><!-- 使用label,自动对应并添加":"-->
          <s:password name="myPassword" label="密      码"></s:password><br>
        <s:submit value="登录"></s:submit>
  </s:form>
  </body>
</html>



ok.jsp
fail.jsp
只是一个简单的jsp跳转页面
  • 大小: 36.6 KB
分享到:
评论

相关推荐

    Java Web整合开发实战:基于Struts 2+Hibernate+Spring(PDF)

    7章 详解Struts之标签库 8章 Struts之拦截器使用技巧 9章 在Struts中应用Ajax技术 10章 Struts之项目实战 3篇 持久层框架Hibernate技术 11章 Hibernate快速上手 12章 精解Hibernate之核心文件 13章 探究...

    arcobjects sdk for java,arcgis二次开发官方示例代码和文档

    《ArcGIS二次开发:Java版ArcObjects SDK与官方示例详解》 ArcGIS是一个强大的地理信息系统(Geographic Information System),广泛应用于地图制作、空间分析、地理数据管理等多个领域。为了帮助开发者利用Java...

    Java教程之javaIO详解

    Java IO 详解 Java IO(Input/Output)是 Java 语言中用于处理输入输出操作的类库,提供了大量的类和方法来实现文件、网络、字节流等方面的输入输出操作。下面对 Java IO 中的重要知识点进行详细说明。 一、File ...

    struts1.2入门操作详解及原理

    Struts 1.2 是一个经典的Java Web开发框架,用于构建基于MVC(Model-View-Controller)模式的应用程序。这个框架简化了处理用户请求、业务逻辑和视图展示的流程。在MyEclipse环境中设置一个Struts项目通常涉及以下...

    struts.xml文件详解示例代码

    1. **&lt;struts&gt;根元素**: - `&lt;struts&gt;` 是整个配置文件的起始标签,包含了所有其他配置元素。 2. **元素**: - `&lt;package&gt;` 定义了一个包,可以看作是动作的命名空间,它包含了一系列的动作配置。 - `name`属性...

    《Tomcat与Java Web开发技术详解(第2版)》_(孙卫琴)_源码.zip

    《Tomcat与Java Web开发技术详解(第2版)》是孙卫琴先生撰写的一本经典教程,专注于讲解如何使用Apache Tomcat服务器进行Java Web应用的开发。这本书深入浅出地介绍了Tomcat的基础架构、配置、优化以及故障排查,同时...

    Struts2配置详解

    Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用开发框架。它通过一系列的配置文件来组织应用程序的行为逻辑,这些配置文件通常是以XML的形式存储的。 Struts2的核心配置文件主要负责定义...

    Java入门示例详解.pdf

    java郑——Java入门示例详解

    struts2框架详解

    Struts2是Java Web开发中的一款广泛应用的开源MVC框架,它构建在Apache Struts 1的基础上,提供了更为强大的功能和更好的灵活性。Struts2旨在简化Web应用开发,通过将表现层与业务逻辑层解耦,提高了代码的可维护性...

    Java代码命名规范详解含详细示例

    - **小驼峰命名法**:除了第一个单词外,每个单词的首字母都大写。例如,`firstName`、`lastName`。 - **避免使用数字开头**:变量名不应以数字开头,这可能会导致与Java关键字冲突。 - **使用标准缩写**:如果变量...

    Struts2开发详解

    Struts2是一个强大的Java web应用程序框架,用于构建和维护可扩展、易于维护的Web应用程序。它是Apache软件基金会的Apache Struts项目的一部分,基于MVC(Model-View-Controller)设计模式,提供了一种组织应用程序...

    Java 添加Word目录的2种方法示例代码详解

    在第一个示例中,我们将手动设置大纲级别,并生成目录。在这个示例中,我们使用了 Free Spire.Doc for Java 2.0.0 工具来生成目录。首先,我们加载测试文档,并在文档最前面插入一个段落,写入文本并格式化。然后,...

    Struts2 深入详解课本代码

    在深入详解Struts2的课本代码中,我们可以看到一系列章节对应的不同代码示例,包括`ch01`、`ch02`、`ch03_1`、`ch03_2`、`ch03_3`和`ch03_4`。这些章节通常会涵盖以下几个重要的知识点: 1. **Struts2基础概念**:...

    Struts2属性文件详解

    ### Struts2属性文件详解 #### struts.configuration 该属性用于指定加载Struts 2配置文件的配置文件管理器,默认值为`org.apache.struts2.config.DefaultConfiguration`,这是Struts 2默认的配置文件管理器。若...

    struts2标签详解(经典)

    struts2标签详解(经典)struts2标签详解(经典)struts2标签详解(经典)

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    第一章 J2EE快速入门 1.1 J2EE概述 1.1.1 J2EE的来源 1.1.2 J2EE整体框架 1.1.3 从J2EE到JavaEE 1.2 J2EE组件 1.2.1 客户端组件 1.2.2 Web组件 1.2.3 业务逻辑组件 1.3 J2EE容器 1.3.1 容器服务 1.3.2 容器类型 1.4 ...

    struts2入门实例教程详解

    ### Struts2入门实例教程详解 ...通过以上步骤,我们不仅能够理解Struts2与Struts1在实现机制上的区别,还能掌握如何利用Struts2创建一个简单的Web应用程序。这为后续深入学习Struts2框架提供了坚实的基础。

    java泛型详解.pdf

    java泛型详解.pdf

Global site tag (gtag.js) - Google Analytics