Library学习日志(……)
2024-08-29 22:25:54
添加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">
可以用一下这张图来解释:
最新文章
- DataGridView 在下拉框添加下来事件
- 2014亚马逊在线笔试题目及解决方案(MMChess问题)
- ue4 SNew背后的逻辑
- .NET 通过SmtpClient发送邮件 提示 4.7.1 service unavailable try again later 解决办法
- Json(2)-DataContractJsonSerializer
- Azure SQL 数据库:服务级别与性能问答
- 用Xamarin和Visual Studio编写iOS App
- jquery插件,美化select标签
- MonkeyRunner源码分析之-谁动了我的截图?
- vue学习第一篇 hello world
- Flash与 Javascript 交互
- Java与算法之(7) - 完全二叉树
- CYQ.data 框架结构
- pycharm+selenium搭建环境之no module named &#39;selenium&#39;异常解决
- select2 api参数的文档
- 54. Spiral Matrix以螺旋顺序输出数组
- NPOI 导入Excel和读取Excel
- Linux中-POSIX 线程详解
- C++11 随机数
- WEB安全番外第五篇--关于使用通配符进行OS命令注入绕WAF