Struts第二天总结案例
这里省略登录界面和登录成功的跳转界面;这两个界面都是比较简单的jsp页面;省略了bean文件,其中只是封装了username和password属性1.web.xml 配置文件[java1 <?xml version="1.0" encoding="UTF-8"?>2 <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"4 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee5 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">6 <filter>7 <filter-name>struts2</filter-name>8 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>9 </filter>1011 <filter-mapping>12 <filter-name>struts2</filter-name>13 <url-pattern>/*</url-pattern>14 </filter-mapping>1516 <welcome-file-list>17 <welcome-file>index.jsp</welcome-file>18 </welcome-file-list>19 </web-app>20 2.struts.xml配置文件,struts2配置最重要的文件,名字不能修改21 <?xml version="1.0" encoding="UTF-8" ?>22 <!DOCTYPE struts PUBLIC23 "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"24 "http://struts.apache.org/dtds/struts-2.3.dtd">2526 <struts>27 <!--28 package包:只提供包与继承;name属性为随便起的名字,写个空值都可以,但是必须有如果没有会报错Attribute "name" is required and must be specified for element type "package". at;29 namespace:用于与jsp中写的路径匹配,即浏览器中访问的路径;30 extends:继承,继承其他包并拥有其他包的所有特性,默认继承struts-default包31 -->32 <package name="test" namespace="/csdn" extends="struts-default">33 <!--34 默认的类继承的是struts-default包中的默认继承类 <default-class-ref35 class="com.opensymphony.xwork2.ActionSupport" />36 class的属性值可以修改成自己编写的类,只是要填写该类的全限制名;37 如果权限名写错就会出现 Error filterStart错误;3839 可以不写method,不写默认的method方法是execute,40 如果要用自己类中定义的其他方法那么必须加上method属性,不加肯定会出错找不到结果集中的action,与result标签的name属性不写的错误一样41 加上但是method的值中方法与实际类中的方法不一致会出错:NoSuchMethodException就是没有这样的方法4243 action类的处理方法通过method属性控制选择哪个方法;所有的action类都有一个默认的处理方法 execute()4445 -->46 <action name="demo" class="www.csdn.struts2.demo.DemoAction" method="login">47 <!-- 接收com.opensymphony.xwork2.ActionSupport类中的execute方法返回 字符串48 通过result标签的name属性指向返回的字符串;如果没有配置name属性,那么的默认的就是name="success"49 如果你使用自己编写的类,那么这里的name属性就不了可以省略使其走默认值 ;否则会出错no result defined for action,结果集没用默认的action50 -->51 <result name="success">/sc.jsp</result>52 <result name="login">/index.jsp</result>53 </action>54 </package>55 </struts>56 3. c3p0-config.xmlc 3p0配置文件57 <c3p0-config>58 <default-config>59 <property name="driverClass">com.mysql.jdbc.Driver</property>60 <property name="jdbcUrl">jdbc:mysql://localhost:3306/struts2</property>61 <property name="user">root</property>62 <property name="password">root</property>63 <property name="initialPoolSize">10</property>64 <property name="maxIdleTime">30</property>65 <property name="maxPoolSize">100</property>66 <property name="minPoolSize">10</property>67 <property name="maxStatements">200</property>68 </default-config>6970 <named-config name="mysql">71 <property name="driverClass">com.mysql.jdbc.Driver</property>72 <property name="jdbcUrl">jdbc:mysql://localhost:3306/struts2</property>73 <property name="user">root</property>74 <property name="password">root</property>75 <property name="acquireIncrement">5</property>76 <property name="initialPoolSize">10</property>77 <property name="minPoolSize">50</property>78 <property name="maxPoolSize">1000</property>79 </named-config>80 </c3p0-config>81 4.dao实现类82 package www.csdn.dao;8384 import java.sql.SQLException;8586 import org.apache.commons.dbutils.QueryRunner;87 import org.apache.commons.dbutils.handlers.BeanHandler;8889 import www.csdn.domain.User;90 import com.csdn.util.DBManager;9192 public class ActionDao {9394 public User login(String username,String password)throws SQLException{95 QueryRunner qr = new QueryRunner(DBManager.getDataSource());96 String sql = "select * from login where username = ? and password = ?";97 Object[] params = {username,password};98 User user = (User) qr.query(sql,params,new BeanHandler(User.class));99 return user;100101 }102103 }104 5.action主要类105 package www.csdn.struts2.demo;106107 import java.sql.SQLException;108109 import www.csdn.dao.ActionDao;110 import www.csdn.domain.User;111112 import com.opensymphony.xwork2.ActionSupport;113114 /***115 *116 * 自己编写的action类可以不继承ActionSupport,不继承直接使用自己编写的类不会出错;117 * 但是大多数情况下要继承ActionSupport类或实现Action接口,因为ActionSupport类中封装了大多数需要的常量,118 * 继承之后就可以直接使用这些常量而不需要再自己去定义119 */120 public class DemoAction extends ActionSupport{121122 //封装请求的参数,必须与jsp页面中的input标签的username名字相同123 private String username;124 pr补充:软件开发 , Java ,
上一个:Java编写代码所以到的陷阱
下一个:赵雅智_细说常量定义
- 更多JAVA疑问解答:
- java怎么在线读取ftp服务器上的文件内容
- 关于程序员的职业规划
- HTML和JSP矛盾吗?
- java小程序如何打包?
- java怎么split路径文件名?
- jsp+javaBean中Column 'ordersPrice' specified twice的错误
- Java TCP/IP Socket网络编程系列
- 大家来讨论一下我到底该用什么好?Swing 还是 JavaFX
- 关于Hibernate实体自身多对一的抓取问题
- 关于apache2+tomcat群集出现的问题
- spring 获取上下文问题
- SSH 导入导出excel 谁有这块的资料吗?
- Ext TreePanel 刷新问题
- springmvc 加载一个jsp页面执行多个方法 报404
- checkbox数组action怎么向页面传值