首页 技术 正文
技术 2022年11月20日
0 收藏 457 点赞 4,474 浏览 2804 个字

因为最近在学习使用SSH框架(struts2+spring+hibernate),下面来介绍表现层struts2的使用方法。

(一)添加struts2的包

  见上一篇博客,先看一下添加的各个文件的目录结构

SSH框架(三)   struts2的登陆示例

(二)介绍各个文件的作用

  login.jsp:登陆界面,里面使用的标签是struts2的标签。

  index.jsp:主界面,登陆成功后会转向这个界面

  web.xml:web工程的主配置文件,在这个配置文件中指定了web欢迎界面(就是login.jsp)。添加struts2的过滤器,指定所有的表现层都有struts2来负责。这里要使用org.apache.struts2.dispatcher.FilterDispatcher过滤器,才能即支持struts2标签又支持html标签。如果使用org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter过滤器,则只支持html标签,不支持struts2标签。

  struts.xml:struts2的配置文件,指定每一个action的跳转关系。

  LoginAction.java:用来处理action的java文件。

  

(三)各个文件的调用关系如下图

  SSH框架(三)   struts2的登陆示例

(四)各个文件的具体内容

  login.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head> <body> <s:form action="Login" method="post">
<s:textfield key="username" label="用户名" />
<s:password key="password" label="密码" />
<s:submit value="登陆" />
</s:form> </body>
</html>

  index.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head> <body>
This is main page. <br>
</body>
</html>

  web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
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_2_5.xsd"> <!-- 配置FilterDispatcher过滤器,以便加Spring容器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter> <filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> <!-- web欢迎界面 -->
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list></web-app>

  struts.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<!-- 需要Spring时添加 -->
<!-- <constant name="struts.objectFactory" value="spring" /> --> <package name="default" extends="struts-default">
<action name="Login" class="com.HYOpticalComm.action.LoginAction" method="execute">
<result name='success'>/index.jsp</result>
<result name='error'>/login.jsp</result>
</action>
</package></struts>

  LoginAction.java:

package com.HYOpticalComm.action;import com.opensymphony.xwork2.Action;public class LoginAction implements Action {
private String username;
private String password; 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;
} public String execute() throws Exception {
if (this.getUsername().equals("admin")
&& this.getPassword().equals("123")) {
return SUCCESS;
} else {
return ERROR;
}
}
}

(五)运行结果

SSH框架(三)   struts2的登陆示例

PS:本人新学习SSH框架,有不合理的地方请批评指正,本博客发布的所有代码都是经过我验证通过的。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,903
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,427
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,244
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,057
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,687
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,726