struts2框架搭建
2013-08-04 01:43
141 查看
背景:做了两年的开发,工作性质属于外包人员。接触以及用过jsp,php开发WEB网站,有时候初一想似乎挺可以的。但是最近面试做自主产品研发的岗位时,被要求直接机试希望可以搭建一个SSH框架,并完成一个登录功能时,一身冷汗就出来了。之前的开发中框架都是由大牛搭建的,自己只要负责能在框架上开发功能修改问题单就好,从没有搭建框架的概念,可想而知机试时候的狼狈。为解决这个问题,研究了下框架的搭建并记录(本篇主要是struts2)。
环境:jdk6+tomcat6+win7+struts-2.2.3.1
参照文章:/article/8170252.html
操作测试完成后的文档如下图:
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>ENetGo</display-name>
<filter>
<filter-name>SSH</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>SSH</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
index.jsp BODY内的内容
<FORM action="login" method="post">
<DIV class=user_main_box>
<UL>
<LI class=user_main_text>用户名:</LI>
<LI class=user_main_input><INPUT class=TxtUserNameCssClass
id=TxtUserName maxLength=20name="user.TxtUserName"></LI>
</UL>
<UL>
<LI class=user_main_text>密 码:</LI>
<LI class=user_main_input><INPUT class=TxtPasswordCssClass
id=TxtPassword type=password
name="user.TxtPassword"></LI>
</UL>
<UL>
<LI class=user_main_text>角 色:</LI>
<LI class=user_main_input><SELECT id=DropExpiration
name="user.TxtUserType">
<OPTION value="normal" selected>普通用户</OPTION>
<OPTION value="websiteManager">合作用户</OPTION>
</SELECT> <br /><input type="submit" value="提交" /> <A href="http://www.baidu.com"><span
class="user_register">注册用户</span></A></LI>
</UL>
</DIV>
</FORM>
struts.xml 注意名字不要拼写错误(搭建的时候有拼写错了,导致在搭建的时候一直找不到原因),放的位置在如上图位置(保存java文件的SRC目录下)。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="strutsqs" extends="struts-default">
<action name="login" class="com.cdy.enetgo.action.LoginAction">
<result name="success">/sysmain.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>
以上配置文件中红色文字部分其实可以随意填写,只要和web.xml节点<filter-name>SSH</filter-name>的值SSH不一样就可以了;绿色部分普通的action就用默认的就可以了,工作中需要定义成其他的继承包的好像只有在支持JSON的时候不一样,详细可以找找资料。此处的result节点参数必须和处理action的返回结果对应起来,否则会报错。另外在创建项目的时候注意选择下自己的webmodule参数,选成3.0的时候会报一个tomcat的jar版本问题(没解决,后来调成了2.5)
UserForm.java (主要是用于封装jsp页面FORM表单传递的数据,注意属性的名称需要和JSP页面文本框的name属 性值user.TxtUserName,user.TxtPassword,user.TxtUserType的user.后面部分保持一致)
public class UserForm {
private String TxtUserName;
private String TxtPassword;
private String TxtUserType;
public String getTxtUserName() {
return TxtUserName;
}
public void setTxtUserName(String txtUserName) {
TxtUserName = txtUserName;
}
public String getTxtPassword() {
return TxtPassword;
}
public void setTxtPassword(String txtPassword) {
TxtPassword = txtPassword;
}
public String getTxtUserType() {
return TxtUserType;
}
public void setTxtUserType(String txtUserType) {
TxtUserType = txtUserType;
}
}
LoginAction.java (以下action中封装类的变量名称需要和JSP页面文本框的name属性值user.TxtUserName,user.TxtPassword,user.TxtUserType的user保持一致)
public class LoginAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private UserForm user;
public UserForm getUser() {
return user;
}
public void setUser(UserForm user) {
this.user = user;
}
public String execute() {
if(user != null)
{
System.out.println(user.getTxtUserName()+user.getTxtPassword());
return SUCCESS;
}
return ERROR;
}
}
总结:以上是自己结合参考博客内容,最终搭建成功后的内容,但因为中间依旧出了些古怪的错误(像拼写配置文件名称错误等不容易查到原因的),所以花费了很多不必要的时间,但也让我理解的更清晰了,之后会尝试spring和hibernate的搭建。
环境:jdk6+tomcat6+win7+struts-2.2.3.1
参照文章:/article/8170252.html
操作测试完成后的文档如下图:
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>ENetGo</display-name>
<filter>
<filter-name>SSH</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>SSH</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
index.jsp BODY内的内容
<FORM action="login" method="post">
<DIV class=user_main_box>
<UL>
<LI class=user_main_text>用户名:</LI>
<LI class=user_main_input><INPUT class=TxtUserNameCssClass
id=TxtUserName maxLength=20name="user.TxtUserName"></LI>
</UL>
<UL>
<LI class=user_main_text>密 码:</LI>
<LI class=user_main_input><INPUT class=TxtPasswordCssClass
id=TxtPassword type=password
name="user.TxtPassword"></LI>
</UL>
<UL>
<LI class=user_main_text>角 色:</LI>
<LI class=user_main_input><SELECT id=DropExpiration
name="user.TxtUserType">
<OPTION value="normal" selected>普通用户</OPTION>
<OPTION value="websiteManager">合作用户</OPTION>
</SELECT> <br /><input type="submit" value="提交" /> <A href="http://www.baidu.com"><span
class="user_register">注册用户</span></A></LI>
</UL>
</DIV>
</FORM>
struts.xml 注意名字不要拼写错误(搭建的时候有拼写错了,导致在搭建的时候一直找不到原因),放的位置在如上图位置(保存java文件的SRC目录下)。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="strutsqs" extends="struts-default">
<action name="login" class="com.cdy.enetgo.action.LoginAction">
<result name="success">/sysmain.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>
以上配置文件中红色文字部分其实可以随意填写,只要和web.xml节点<filter-name>SSH</filter-name>的值SSH不一样就可以了;绿色部分普通的action就用默认的就可以了,工作中需要定义成其他的继承包的好像只有在支持JSON的时候不一样,详细可以找找资料。此处的result节点参数必须和处理action的返回结果对应起来,否则会报错。另外在创建项目的时候注意选择下自己的webmodule参数,选成3.0的时候会报一个tomcat的jar版本问题(没解决,后来调成了2.5)
UserForm.java (主要是用于封装jsp页面FORM表单传递的数据,注意属性的名称需要和JSP页面文本框的name属 性值user.TxtUserName,user.TxtPassword,user.TxtUserType的user.后面部分保持一致)
public class UserForm {
private String TxtUserName;
private String TxtPassword;
private String TxtUserType;
public String getTxtUserName() {
return TxtUserName;
}
public void setTxtUserName(String txtUserName) {
TxtUserName = txtUserName;
}
public String getTxtPassword() {
return TxtPassword;
}
public void setTxtPassword(String txtPassword) {
TxtPassword = txtPassword;
}
public String getTxtUserType() {
return TxtUserType;
}
public void setTxtUserType(String txtUserType) {
TxtUserType = txtUserType;
}
}
LoginAction.java (以下action中封装类的变量名称需要和JSP页面文本框的name属性值user.TxtUserName,user.TxtPassword,user.TxtUserType的user保持一致)
public class LoginAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private UserForm user;
public UserForm getUser() {
return user;
}
public void setUser(UserForm user) {
this.user = user;
}
public String execute() {
if(user != null)
{
System.out.println(user.getTxtUserName()+user.getTxtPassword());
return SUCCESS;
}
return ERROR;
}
}
总结:以上是自己结合参考博客内容,最终搭建成功后的内容,但因为中间依旧出了些古怪的错误(像拼写配置文件名称错误等不容易查到原因的),所以花费了很多不必要的时间,但也让我理解的更清晰了,之后会尝试spring和hibernate的搭建。
相关文章推荐
- Eclipse搭建Struts2框架 Demo
- 如何搭建Struts2框架
- Struts2框架搭建步骤
- struts2框架搭建
- HelloWorld_Struts2-Struts2框架搭建
- (一)Struts2框架简介及搭建运行
- struts2框架开发环境搭建(入门)
- Struts2框架的搭建
- Struts2框架搭建
- struts2框架搭建
- struts2框架 基础搭建
- 如何搭建struts2框架
- Struts2框架的搭建以及架构总结
- (一)Struts2框架简介及搭建运行
- Struts2框架搭建
- Struts2框架搭建与运行流程的详细具体步骤 +工作原理执行流程。
- 在myeclipse中快速搭建Struts2框架
- Struts2框架搭建
- java 搭建Struts2框架
- struts2框架搭建