Library学习日志(……)

添加Library在buildpath中,就是右键工程->properties->java buildpath->Libraries 

然后点击add Library就是添加Library 根据提示添加即可,

向已有Library中添加jar,添加内部的点击add jar;添加外部的点击add  External JARS;

其中有一个WebLibrary可能已经存在于工程中了,但在工程树中找不到,解决办法就是手动把referenceLibrary中的jar拷到WebINF下的lib文件夹中就可以了。

在一个Web应用中表单form的生命周期:

以登录所用的登录表单为例介绍:

login.jsp:

<form name="form1" method="post" action="manager.do?action=login">
<servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
      <param-name>debug</param-name>
      <param-value>3</param-value>
    </init-param>
    <init-param>
      <param-name>detail</param-name>
      <param-value>3</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>

以上是Web.xml

structs-config.xml:

 <action name="managerForm" path="/manager" scope="request" type="com.action.Manager" validate="true">
      <forward name="managerQuery" path="/manager.jsp" />
      <forward name="managerLoginok" path="/main.jsp" />
      <forward name="managerAdd" path="/manager_ok.jsp?para=1" />
      <forward name="managerQueryModify" path="/manager_Modify.jsp" />

Manager.java:

public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		String action = request.getParameter("action");
		System.out.println("获取的查询字符串:" + action);
		if (action == null || "".equals(action)) { /*如果没有操作的动作*/
			return mapping.findForward("error");
		} else if ("login".equals(action)) {	/*如果是处理管理员登陆*/
			return managerLogin(mapping, form, request, response);
		} else if ("managerAdd".equals(action)) {
			return managerAdd(mapping, form, request, response);
		} else if ("managerQuery".equals(action)) {
			return managerQuery(mapping, form, request, response);
		} else if ("managerModifyQuery".equals(action)) {
			return managerModifyQuery(mapping, form, request, response);
		} else if ("managerModify".equals(action)) {
			return managerModify(mapping, form, request, response);
		} else if ("managerDel".equals(action)) {
			return managerDel(mapping, form, request, response);
		} else if ("querypwd".equals(action)) {
			return pwdQuery(mapping, form, request, response);
		} else if ("modifypwd".equals(action)) {
			return modifypwd(mapping, form, request, response);
		}
		request.setAttribute("error", "操作失败!");
		return mapping.findForward("error");
	}


public ActionForward managerLogin(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		ManagerForm managerForm = (ManagerForm) form;
		managerForm.setName(managerForm.getName());
		managerForm.setPwd(managerForm.getPwd());
		/*将存有管理员信息的formbean传递给DAO业务层处理(查询是否存在该管理员帐号和密码)*/
		int ret = managerDAO.checkManager(managerForm);
		System.out.print("验证结果ret的值:" + ret);
		/*业务层如果返回1,表示验证成功*/
		if (ret == 1) {
			/*将用户帐号保存在session中*/
			HttpSession session = request.getSession();
			session.setAttribute("manager", managerForm.getName());
			/*交给控制器,跳转到登陆成功的页面*/
			return mapping.findForward("managerLoginok");
		} else {
			request.setAttribute("error", "您输入的管理员名称或密码错误!");
			return mapping.findForward("error");
		}
	}

具体的处理就是以上这些内容,form的传递以及request的整个处理过程。

至于让人费解的这一个action的内容

<form name="form1" method="post" action="manager.do?action=login">
可以用一下这张图来解释:


原文地址:https://www.cnblogs.com/chaiwentao/p/4126696.html