Struts1的浅显认识
Struts的原理略
一、struts1的环境配置
需要配置的文件有web.xml和struts-config.xml
1、导入相关的jar包,可以去官网下载。
下载好的包导入WEB-INFO/lib下
2、配置web.xml,配置说明如下:
主要配置struts和mapping(映射),struts配置用到的标签是
3、配置struts-config.xml,配置说明如下:
主要配置在
配置好这三项,环境算是OK了。
二、struts2实例(简单登陆)
1、配置文件web.xml
xmlns="https://www.wendangku.net/doc/5d12416064.html,/xml/ns/j2ee" xmlns:xsi="https://www.wendangku.net/doc/5d12416064.html,/2001/XMLSchema-instance" xsi:schemaLocation="https://www.wendangku.net/doc/5d12416064.html,/xml/ns/j2ee https://www.wendangku.net/doc/5d12416064.html,/xml/ns/j2ee/web-app_2_4.xsd">
2、配置文件struts-config.xml
"-//Apache Software Foundation//DTD Struts Configuration
1.3//EN"
"https://www.wendangku.net/doc/5d12416064.html,/dtds/struts-config_1_3.dtd">
type="com.Login.form.loginForm">
name="LoginForm" type="com.Login.action.loginAction"> path="/LoginSuccess.jsp">
3、写JSP页面
Login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%
String path = request.getContextPath();
String basePath =
request.getScheme()+"://"+request.getServerName()+":"+request.getServ erPort()+path+"/";
%>
LoginFailue.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%
String path = request.getContextPath();
String basePath =
request.getScheme()+"://"+request.getServerName()+":"+request.getServ erPort()+path+"/";
%>
LoginSuccess.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%
String path = request.getContextPath();
String basePath =
request.getScheme()+"://"+request.getServerName()+":"+request.getServ erPort()+path+"/";
%>
3、编写相关类
工程的架构
loginForm类:
package com.Login.form;
import org.apache.struts.action.ActionForm;
publicclass loginForm extends ActionForm { private String username = null;
private String password = null;
public String getUsername() {
return username;
}
publicvoid setUsername(String username) { https://www.wendangku.net/doc/5d12416064.html,ername = username;
}
public String getPassword() {
return password;
}
publicvoid setPassword(String password) {
this.password = password;
}
}
loginAction类:
packagecom.Login.action;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importorg.apache.struts.action.Action;
importorg.apache.struts.action.ActionForm;
importorg.apache.struts.action.ActionForward;
importorg.apache.struts.action.ActionMapping;
importcom.Login.form.loginForm;
public class loginAction extends Action {
@Override
publicActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
throws Exception {
// TODO Auto-generated method stub
loginFormloginform = (loginForm)form;
if(loginform.getUsername().equals("user")){
returnmapping.findForward("LoginSuccess");
}else{
returnmapping.findForward("LoginFailue");
}
}
}
三、关键说明
1、Login.jsp中的form表单里的属性action=“/login.do”是根据
struts-config.xml里的action配置, path=”/login”.追源,在web.xml中的struts的配置中,接收*.do的请求响应。 2、Login.jsp中对应的username、password对应LoginForm.java 中的变量username、password,名字必须相同。 3、Forward中的跳转,键值对name、path.其中loginAction.java 中的返回值类型对应name.