距离暑假的培训到现在,已有将近三个月。现在回头看看,这三个月的日子过得何止一个“惬意”:每天都是吃吃睡睡,除了体重什么都没增长。某天突然惊醒,才发现按部就班去听课的同学都寥寥无几了。大四了,大家都忙着找工作,考研,好像只有我,全世界只剩我一个人,还在迷茫、彷徨。曾经自以为自己把未来的路规划的挺好而沾沾自喜,现如今,也只剩一声叹息了。
前几天,院里来了企业,进行校园招聘,急急忙忙的跑去。虽然一家外包公司勉强(自我感觉)看中我,但是笔试一结束那叫一个“打击惨重”,曾经还以为自己虽不是精英一枚吧,也算稍有成绩吧!如今再看看,简单的一个例子,&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
分享到:
相关推荐
7章 详解Struts之标签库 8章 Struts之拦截器使用技巧 9章 在Struts中应用Ajax技术 10章 Struts之项目实战 3篇 持久层框架Hibernate技术 11章 Hibernate快速上手 12章 精解Hibernate之核心文件 13章 探究...
《ArcGIS二次开发:Java版ArcObjects SDK与官方示例详解》 ArcGIS是一个强大的地理信息系统(Geographic Information System),广泛应用于地图制作、空间分析、地理数据管理等多个领域。为了帮助开发者利用Java...
Java IO 详解 Java IO(Input/Output)是 Java 语言中用于处理输入输出操作的类库,提供了大量的类和方法来实现文件、网络、字节流等方面的输入输出操作。下面对 Java IO 中的重要知识点进行详细说明。 一、File ...
Struts 1.2 是一个经典的Java Web开发框架,用于构建基于MVC(Model-View-Controller)模式的应用程序。这个框架简化了处理用户请求、业务逻辑和视图展示的流程。在MyEclipse环境中设置一个Struts项目通常涉及以下...
1. **<struts>根元素**: - `<struts>` 是整个配置文件的起始标签,包含了所有其他配置元素。 2. **元素**: - `<package>` 定义了一个包,可以看作是动作的命名空间,它包含了一系列的动作配置。 - `name`属性...
《Tomcat与Java Web开发技术详解(第2版)》是孙卫琴先生撰写的一本经典教程,专注于讲解如何使用Apache Tomcat服务器进行Java Web应用的开发。这本书深入浅出地介绍了Tomcat的基础架构、配置、优化以及故障排查,同时...
Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用开发框架。它通过一系列的配置文件来组织应用程序的行为逻辑,这些配置文件通常是以XML的形式存储的。 Struts2的核心配置文件主要负责定义...
java郑——Java入门示例详解
Struts2是Java Web开发中的一款广泛应用的开源MVC框架,它构建在Apache Struts 1的基础上,提供了更为强大的功能和更好的灵活性。Struts2旨在简化Web应用开发,通过将表现层与业务逻辑层解耦,提高了代码的可维护性...
- **小驼峰命名法**:除了第一个单词外,每个单词的首字母都大写。例如,`firstName`、`lastName`。 - **避免使用数字开头**:变量名不应以数字开头,这可能会导致与Java关键字冲突。 - **使用标准缩写**:如果变量...
Struts2是一个强大的Java web应用程序框架,用于构建和维护可扩展、易于维护的Web应用程序。它是Apache软件基金会的Apache Struts项目的一部分,基于MVC(Model-View-Controller)设计模式,提供了一种组织应用程序...
在第一个示例中,我们将手动设置大纲级别,并生成目录。在这个示例中,我们使用了 Free Spire.Doc for Java 2.0.0 工具来生成目录。首先,我们加载测试文档,并在文档最前面插入一个段落,写入文本并格式化。然后,...
在深入详解Struts2的课本代码中,我们可以看到一系列章节对应的不同代码示例,包括`ch01`、`ch02`、`ch03_1`、`ch03_2`、`ch03_3`和`ch03_4`。这些章节通常会涵盖以下几个重要的知识点: 1. **Struts2基础概念**:...
### Struts2属性文件详解 #### struts.configuration 该属性用于指定加载Struts 2配置文件的配置文件管理器,默认值为`org.apache.struts2.config.DefaultConfiguration`,这是Struts 2默认的配置文件管理器。若...
struts2标签详解(经典)struts2标签详解(经典)struts2标签详解(经典)
第一章 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与Struts1在实现机制上的区别,还能掌握如何利用Struts2创建一个简单的Web应用程序。这为后续深入学习Struts2框架提供了坚实的基础。
java泛型详解.pdf