struts2 的第一个程序:登陆页面

首先,需要搭建环境,导入jar包,把struts2文件中app文件夹下的实例中lib中的包复制到项目的lib目录下

同时将struts.xml放到src目录下

然后配置web.xml

 <filter>
  	<filter-name>Struts2Filter</filter-name>
  	<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>
  <filter-mapping>
  	 <filter-name>Struts2Filter</filter-name>
  	 <url-pattern>/*</url-pattern>
  </filter-mapping>

如果是通过手动添加的,这些均可自动配置

项目右键-->myeclipse-->add struts.......选择添加即可

打开struts.xml文件:按alt+/提示元素

struts2有如下提示元素:

解释一下这几个标签

        <!-- 创建一个JavaBean实例 -->
	<bean class=""></bean>

	<!-- 用于Struts2默认行为配置的标签 -->
	<constant name="" value=""></constant>

	<!-- 包标签, 用于区分不同的请求文件的标签, 如网站前台请求,网站后台请求 -->
	<package name=""></package>

	<!-- 用于引入其他xml配置文件 -->
	<include file=""></include>

主要的constant配置文件

	<!-- 配置web默认编码集,相当于HttpServletResponse.setChartacterEncoding -->
	<constant name="struts.i18n.encoding" value="UTF-8"></constant>
	<!-- 默认Struts2的请求后缀是.action,也就是不配置该元素,action/do都可以 -->
	<constant name="struts.action.extension" value="action,do"></constant>
	<!-- 设置浏览器是否缓存静态内容,默认值为true,开发阶段建议关闭 -->
	<constant name="struts.serve.static.browserCache" value="false"></constant>
	<!-- 当struts配置文件修改后,系统是否重新加载该文件,默认为false -->
	<constant name="struts.configuration.xml.reload" value="true"></constant>
	<!-- 开发模式下,可以打印出更加详细的错误 -->
	<constant name="struts.devMode" value="true"></constant>
	<!-- 默认视图主题 -->
	<constant name="struts.ui.theme" value="simple"></constant>

package:

	<!-- name属性:包名, 用于被别的包调用或继承
		extends: 继承哪个包,会继承该包下配置信息和拦截器等等
		namespace: 选填,url连接必须加入/new/action.xxx
		 -->
	<package name="test" namespace="/new" extends="struts-default" >
	</package>

新建如下文件:

在LoginAction.java中加入:

package com.jike.action;

public class LoginAction {
	private String username;
	private String password;

	public String execute(){
		if(username.equals("admin") && password.equals("123")){
			return "success";
		}else{
			return "fail";
		}
	}

	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;
	}

}

在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>
  </head>
  
  <body>
    <form action="<%=path %>/new/login.action" method = "post">
    	用户名:<input type="text" name="username" /><br/>
    	密码:<input type="password" name = "password"/><br/>
    	<input type="submit" value="提交"><br/>
    </form>
  </body>
</html>

在success.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>

  </head>
  
  <body>
    登陆成功 <br>
  </body>
</html>

fail.jsp改为“登陆失败,其他不变”

具体的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>
	<!--bean 创建一个JavaBean实例 -->
	<!--constant 用于Struts2默认行为配置的标签 -->
	<!--package 包标签, 用于区分不同的请求文件的标签, 如网站前台请求,网站后台请求 -->
	<!--include 用于引入其他xml配置文件 -->

	<!-- 配置web默认编码集,相当于HttpServletResponse.setChartacterEncoding -->
	<constant name="struts.i18n.encoding" value="UTF-8"></constant>
	<!-- 默认Struts2的请求后缀是.action,也就是不配置该元素,action/do都可以 -->
	<constant name="struts.action.extension" value="action,do"></constant>
	<!-- 设置浏览器是否缓存静态内容,默认值为true,开发阶段建议关闭 -->
	<constant name="struts.serve.static.browserCache" value="false"></constant>
	<!-- 当struts配置文件修改后,系统是否重新加载该文件,默认为false -->
	<constant name="struts.configuration.xml.reload" value="true"></constant>
	<!-- 开发模式下,可以打印出更加详细的错误 -->
	<constant name="struts.devMode" value="true"></constant>
	<!-- 默认视图主题 -->
	<constant name="struts.ui.theme" value="simple"></constant>

	<!-- name属性:包名, 用于被别的包调用或继承
		extends: 继承哪个包,会继承该包下配置信息和拦截器等等
		namespace: 选填,url连接必须加入/new/action.xxx
		 -->
	<package name="test" namespace="/new" extends="struts-default">
		<!-- action相当于Servlet的概念,对应一个请求,name为请求的url 
			localhost:8080/项目名/new/login.do
		-->
		<action name="login" class="com.jike.action.LoginAction">
			<result name="success">/success.jsp</result>
			<result name="fail">/fail.jsp</result>
		</action>
	</package>

</struts>

Http请求流转流程:

配置文件连接点:

极客学院:http://www.jikexueyuan.com/course/697_2.html?ss=2

最后两张图像截取自原视频。

时间: 2024-11-17 16:48:59

struts2 的第一个程序:登陆页面的相关文章

[原创]java WEB学习笔记54:Struts2学习之路--- 编写Struts2 的第一个程序,HelloWord,简述 package ,action,result

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

java web 程序---登陆验证4个页面

思路: 1.第一个是登陆页面login.jsp一个form表单.点击登陆按钮 2.第二个是验证页面check.jsp.如果username和password都正确.则跳转到另一个页面a.jsp显示登陆成功.否则,登陆有误,提醒用户,重新登陆. 3.当用户没有输入用户名和密码就直接进入登陆页面,那么有一个b.jsp页面,进行验证,用户名和密码都不为空,如果为空,则提示用户请先登陆. 其实,到这里,这么人性化的设计还是他,不是他,我他妈都不用这么烦,这么爱, login.jsp ? 1 2 3 4

java web程序 登陆验证页面 4个页面人性化设置

到这里,快期末考试了,老师不讲课,我心里有苦不想说,也许没有考虑到老师的感受,让老师难堪了 但是我的行为已不再是我可以做的了.不可能了,我只是职业性的机械的做事了. 思路: 1.第一个是form表单,用户输入用户名和密码,点击登陆按钮 a.jsp 2.第二是验证页面,如果不是那个用户名和密码,则显示登陆失败或错误,点击链接重新登陆ok.jsp d.jsp 3.当用户为输入任何数据,即为空的时候,则提示用户先登录,c.jsp 第一个页面,就不写了 验证页面 ok.jsp ? 1 2 3 4 5 6

Struts2文件配置 登陆页面

Struts 版本号 struts-2.3.16.3 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/jav

完成一个登陆页面。(用户名:F11;密码:123456)。要求用户输入用户 名和密码,验证是否等于正确值。如果等于告知登陆成功,程序结束;否则告 知用户名密码有误。用户三次输入不正确,告知登陆失败,程序结束 。

#include <stdio.h>#include <string.h> /*完成一个登陆页面.(用户名:F11:密码:123456).要求用户输入用户名和密码,验证是否等于正确值.如果等于告知登陆成功,程序结束:否则告知用户名密码有误.用户三次输入不正确,告知登陆失败,程序结束 .*/ void main(){ char username[20]; char password[20]; int i = 0; for(i = 0; i < 3; i++) { printf(

mac下 Struts2 第一个程序的详细步骤(附带源码链接)

mac下 Struts2 第一个程序的详细步骤 1.新建web工程 (1) 打开MyEclipse 2015,选择File->New->Web Porject 菜单,新建一个web project. (2)配置Project信息 填写工程名字myFirstStrust2WebProject,选择默认项目存放路径,选在javaEE 6版本. 选择下一步,再下一步,选择默认创建默认首页index.jsp和web.xml(web.xml文件作用)文件,这两个文件也可以后来添加,然后选择完成. 2.下

一步一步实现web程序信息管理系统之二----后台框架实现跳转登陆页面

SpringBoot springboot的目的是为了简化spring应用的开发搭建以及开发过程.内部使用了特殊的处理,使得开发人员不需要进行额外繁锁的xml文件配置的编写,其内部包含很多模块的配置只需要添加maven依赖即可使用,这项功能可谓对开发人员提供了大大的好处.使用springboot只需要简单配置一下就可以完成之前复杂的配置过程.可以到https://start.spring.io/此网站上,下载一个最简单的springboot应用,然后一步一步实现自已的应用. 可以看出当前的稳定版

.Net程序员玩转Android开发---(3)登陆页面布局

这一节我们来看看登陆页面怎样布局,对于刚接触到Android开发的童鞋来说,Android的布局感觉比较棘手,需要结合各种属性进行设置,接下来我们由点入面来 了解安卓中页面怎样布局,登陆页面很简单,两个文本框和一个按钮,页面效果如下:

Struts2学习第一天——struts2基本流程与配置

struts2框架 什么是框架,框架有什么用? 框架 是 实现部分功能的代码 (半成品),使用框架简化企业级软件开发 ,提高开发效率. 学习框架 ,清楚的知道框架能做什么? 还有哪些工作需要自己编码实现 ? 什么是struts2框架,它有什么用? Struts 2是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架. 其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大.Struts 2以WebWork为核心 struts2=struts1+