目标要求:

注释:
1.private String name 意思?(java的)——某个类定义了一个只能在该类内部才能访问的,名叫name的字符串变量
(1)private 访问限定符,表示后面定义的量只有在该类中才能访问
(2)String 类型名称,表示后面定义的变量是一个字符串类型的变量
(3)name 变量名称,用来再在程序中使用改变量
2.package节点是整个配置的核心部分。
(1) name——为每个package设置一个唯一的标识
(2)extends
通过使用extends,你可以指定本package继承另外一个package的所有的配置。当某个package继承了另外一个package的所有配置,那么你就无需对父package中已经声明过的配置定义做再次的定义。
同时,如果重复定义父package中已声明过的配置定义,那么这些重复定义声明将覆盖父package中的相关定义。
3.set()、get()方法
(1)使用原因:java语言的封闭性和安全性,用private来修饰的类——>其他的类不能访问这个类。
(2)要想用上private定义的类的变量,只能用set()、get()方法 。
4.!= 不等于
!name.equals("") 不能为空
运行机制:





代码:
//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">
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
<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>*.action</url-pattern>
</filter-mapping></web-app>
//java
package com.web;
import com.opensymphony.xwork2.ActionSupport;
public class LoginOK extends ActionSupport{
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(){
if(username!=null&&!username.equals("")&&password!=null&&!password.equals("")){
if(username.equals(password)){
return "ok";
}else{
return "no";
}
}else{
return "no";
}
}
}
//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>
<package name="struts_demo" extends="struts-default">
<action name="login" class="com.web.LoginOK">
<result name="ok">/sucess.jsp</result>
<result name="no">/fail.jsp</result>
</action>
</package>
</struts>
//login.jsp
<%@ page language="java" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<center>
<form action="login.action" method="post" focus="login">
<h2>系统登录:</h2>
<table border="0">
<tr>
<td>用 户:</td>
<td><input type = "text" name = "username" /></td>
</tr>
<tr>
<td>密 码:</td>
<td><input type = "password" name = "password" /></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type = "submit" name = "submit" value = "提 交" />
</td>
</tr>
</table>
</form>
</center>
</body>
</html>
//sucess.jsp
<%@ page language="java" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<center>
<h2>检验成功</h2>
</center>
</body>
</html>
//fail.jsp
<%@ page language="java" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<center>
<h2>检验失败</h2>
</center>
</body>
</html>
实现效果:
http://localhost:8080/struts_demo/login.action
本文主要介绍了JAVA EE中Struts2框架的基础知识,包括private String name的含义、package配置的核心作用、set()和get()方法的使用目的,以及不等于判断和空值检查的重要性。通过阅读,读者将理解Struts2框架的基本运行机制。

2202

被折叠的 条评论
为什么被折叠?



