免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
簡(jiǎn)單的struts應(yīng)用開(kāi)發(fā)(1)
簡(jiǎn)單的Struts應(yīng)用開(kāi)發(fā)(1)

終于把自己的這個(gè)測(cè)試做完了. 希望對(duì)想學(xué)struts的新手有所幫助.

(mystruts應(yīng)用)目錄結(jié)構(gòu)
mystruts
|-Web-INF
| |- lib
| | |- struts.jar
| |- classes
| | |- ConnectionPool
| | | |- getDbConnection.class
| | |-mystruts
| | |- user1Action.class
| | |- userAction.class
| | |- userActionForm.class
| | |- userdao.class
| |-struts-bean.tld
| |-struts-config.XML
| |-struts-html.tld
| |-struts-logic.tld
| |-struts-template.tld
|-adduser.JSP
|-index.jsp
|-viewuser.jsp

第一步: 開(kāi)發(fā)環(huán)境配置

(如果你還沒(méi)有相關(guān)軟件. 請(qǐng)到http://www.apache.org 下載)

tomcat5.0 配置 (建立一個(gè) mystruts 應(yīng)用, 并拷貝相關(guān)文件)

請(qǐng)?jiān)谀愕膖omcat安裝目錄中找到\conf\Catalina\localhost 子目錄. 新建 mystruts.xml 文件
文件內(nèi)容如下. 在這個(gè)文件中. 我們將配置一個(gè)聯(lián)接池.請(qǐng)把相關(guān)的驅(qū)動(dòng).數(shù)據(jù)庫(kù)用戶,密碼改成你自己的本機(jī)配置.
并把JDBC驅(qū)動(dòng)拷貝一份到 Tomcat 5.0\common\lib 目錄下. 請(qǐng)把 struts.jar \mystruts\WEB-INF\lib 目錄下.

<Context path="/mystruts" docBase="D:\www\mystruts\mystruts\mystruts" debug="0" privileged="true">

<Resource name="jdbc/TestDB"
auth="Container"
type="Javax.sql.DataSource"/>

<ResourceParams name="jdbc/TestDB">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>

<parameter>
<name>maxActive</name>
<value>10</value>
</parameter>

<parameter>
<name>maxIdle</name>
<value>5</value>
</parameter>

<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>

<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value>test</value>
</parameter>

<parameter>
<name>driverClassName</name>
<value>net.sourceforge.jtds.jdbc.Driver</value>
</parameter>

<parameter>
<name>url</name>
<value>jdbc:jtds:sqlserver://192.168.10.223:1433/mystruts</value>
</parameter>
</ResourceParams>
</Context>

WEB-INF/web.xml (加入struts標(biāo)記庫(kù)的支持)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<Servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<taglib>
<taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-template.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-template.tld</taglib-location>
</taglib>
</web-app>(未完待續(xù))
簡(jiǎn)單的Struts應(yīng)用開(kāi)發(fā)(2)

第二步: 配置數(shù)據(jù)庫(kù)

1.首先創(chuàng)建數(shù)據(jù)聯(lián)接bean, 并打包到 ConnectionPool, 它將從我們配置的聯(lián)接池中取得可用聯(lián)接.

// Java Document
package ConnectionPool;
import javax.naming.*;
import javax.sql.*;
import java.sql.*;
import java.io.*;
import java.util.*;

public class getDbConnection {

Connection conn;
Statement stmt;
ResultSet rs=null;

String foo = "Not Connected";
int bar = -1;

public getDbConnection() {
try{
Context ctx = new InitialContext();
if(ctx == null )
throw new Exception("Boom - No Context");

DataSource ds =
(DataSource)ctx.lookup(
"java:comp/env/JDBC/TestDB");

if (ds != null) {
conn = ds.getConnection();

}
}
catch(Exception e) {
e.printStackTrace();
}
}

public Connection getCon()
{
return conn;
}


public void d_close() throws SQLException
{
if (rs != null) {
try { rs.close(); } catch (SQLException e) { ; }
rs = null;
}
if (stmt != null) {
try { stmt.close(); } catch (SQLException e) { ; }
stmt = null;
}
if (conn != null) {
try { conn.close(); } catch (SQLException e) { ; }
conn = null;
}

}

protected void finalize() throws Throwable
{
try { d_close(); } catch (SQLException e) { ; }
}

}

2.創(chuàng)建數(shù)據(jù)庫(kù).

數(shù)據(jù)庫(kù)名: mystruts

部門(mén)表: mydep

_______________________________________
dep_id dep_name
_______________________________________
1 dep1
2 dep2
3 dep3
4 dep4
_______________________________________

用戶表: myuser
______________________________________________
user_id user_name dep tel
______________________________________________
1 jack 1 0769-2454042
2 max 2 0769-2454043
______________________________________________

(注: 以上字段為了測(cè)試方便. 全部使用字符型)


第三步: 創(chuàng)建ActionForm (userActionForm.java)

package mystruts; //請(qǐng)打包到mystruts下.

import org.apache.struts.action.*;
import javax.Servlet.http.*;

public class userActionForm extends ActionForm {
private String action="add";
private String dep;
private String tel;
private String user_id;
private String user_name;
public String getAction() {
return action;
}
public void setAction(String action) {
this.action = action;
}
public String getDep() {
return dep;
}
public void setDep(String dep) {
this.dep = dep;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getUser_id() {
return user_id;
}
public void setUser_id(String user_id) {
this.user_id = user_id;
}
public String getUser_name() {
return user_name;
}
public void setUser_name(String user_name) {
this.user_name = user_name;
}
public ActionErrors validate(ActionMapping actionMapping, HttpServletRequest httpServletRequest) {

return null;
}
public void reset(ActionMapping actionMapping, HttpServletRequest httpServletRequest) {
}
} (未完待續(xù)
簡(jiǎn)單的Struts應(yīng)用開(kāi)發(fā)(3)

第四步:建立數(shù)據(jù)庫(kù)操作對(duì)象 (完成對(duì)表的增刪修改與查詢)

package mystruts;

import Java.sql.*;
import ConnectionPool.*;
import java.util.*;

public class userdao {
getDbConnection db=null;
Connection con=null;

public userdao() {
}
//-------------------------------------------------------------------
public void userInsert(userActionForm uaf1)
{
db=new getDbConnection();
con=db.getCon();
userActionForm uaf=uaf1;
PreparedStatement ps = null;
String sql="insert into myuser (user_id,user_name,dep,tel) values(?,?,?,?)";
try {

ps = con.prepareStatement(sql);
ps.setString(1,uaf.getUser_id());
ps.setString(2,uaf.getUser_name());
ps.setString(3,uaf.getDep());
ps.setString(4,uaf.getTel());
ps.executeUpdate();
}
catch (SQLException e)
{
System.out.println("sql error");
}
finally
{
try{
con.close();
db.d_close();
}
catch(Exception e) {}
}
}
//---------------------------------------------
public void userUpdate(userActionForm uaf1)
{
db=new getDbConnection();
con=db.getCon();
userActionForm uaf=uaf1;
PreparedStatement ps = null;
String sql="update myuser set user_name=?,dep=?,tel=? where user_id=?";
try {

ps = con.prepareStatement(sql);
ps.setString(1,uaf.getUser_name());
ps.setString(2,uaf.getDep());
ps.setString(3,uaf.getTel());
ps.setString(4,uaf.getUser_id());
ps.executeUpdate();
}
catch (SQLException e)
{
System.out.println("sql error");
}
finally
{
try{
con.close();
db.d_close();
}
catch(Exception e) {}
}
}
//---------------------------------------------
public userActionForm getUser(String key)
{
db=new getDbConnection();
con=db.getCon();
ResultSet rs=null;
userActionForm uaf=new userActionForm();
PreparedStatement ps = null;
String sql="select * from myuser where user_id=?";
try {
ps = con.prepareStatement(sql);
ps.setString(1,key.trim());
rs=ps.executeQuery();
if(rs.next())
{
uaf.setUser_id(rs.getString("user_id"));
uaf.setUser_name(rs.getString("user_name"));
uaf.setDep(rs.getString("dep"));
uaf.setTel(rs.getString("tel"));
uaf.setAction("edit");
}
}
catch (SQLException e)
{
System.out.println("sql error");
}
finally
{
try{
con.close();
db.d_close();
}
catch(Exception e) {}
}
System.out.println("mod"+key);
return uaf;
}
//----------------------------------------
public void delUser(String key)
{
db=new getDbConnection();
con=db.getCon();
PreparedStatement ps = null;
String sql="delete from myuser where user_id=?";
try {
ps = con.prepareStatement(sql);
ps.setString(1,key.trim());
ps.executeUpdate();
}
catch (SQLException e)
{
System.out.println("sql error");
}
finally
{
try{
con.close();
db.d_close();
}
catch(Exception e) {}
}
System.out.println("del"+key);
}
//----------------------------------
public Collection getAlluser()
{
db=new getDbConnection();
con=db.getCon();
ResultSet rs=null;
userActionForm uaf=new userActionForm();
PreparedStatement ps = null;

ArrayList rslist = new ArrayList();

String sql="select * from myuser u,mydep d where u.dep=d.dep_id";
try {
ps = con.prepareStatement(sql);
rs=ps.executeQuery();
while(rs.next())
{
HashMap rscol = new HashMap();
rscol.put("user_id",rs.getString("user_id"));
rscol.put("user_name",rs.getString("user_name"));
rscol.put("dep",rs.getString("dep"));
rscol.put("dep_name",rs.getString("dep_name"));
rscol.put("tel",rs.getString("tel"));
rslist.add(rscol);
}
}
catch (SQLException e)
{
System.out.println("sql error");
}
finally
{
try{
con.close();
db.d_close();
}
catch(Exception e) {}
}
return rslist;
}
//----------------------------------
} (未完待續(xù))
簡(jiǎn)單的Struts應(yīng)用開(kāi)發(fā)(4)

第五步:建立Action (userAction.Java)

這里我們將建產(chǎn)兩個(gè)Action .

userAction.java 將完成以下工作.
1.添加(前期數(shù)據(jù)準(zhǔn)備. 主是提取部門(mén)資料.并傳遞給adduser.JSP)
2.修改(前期數(shù)據(jù)準(zhǔn)備)
3.刪除
4.查看所有用戶資料.

user1Action.java 將完成以下工作
1.添加用戶(對(duì)myuser表操作)
2.修改用戶(對(duì)myuser表操作)

package mystruts;

import org.apache.struts.action.*;
import javax.Servlet.http.*;
import mystruts.*;
import java.util.*;
import java.sql.*;
import ConnectionPool.*;

public class userAction extends Action {
public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception
{
userdao dao=new userdao();
HttpServletRequest request=httpServletRequest;
String action;
if(request.getParameter("action").equals("") || request.getParameter("action")==null)
{
action="add";
}
else
{
action=request.getParameter("action");
}
if(action.equals("add"))
{
request.setAttribute("dep",this.getDep());
return (actionMapping.findForward("add"));
}
if(action.equals("edit"))
{
String key=request.getParameter("key");
request.setAttribute("dep",this.getDep());
request.setAttribute("userActionForm",dao.getUser(key));
return (actionMapping.findForward("add"));
}
if(action.equals("del"))
{
String key=request.getParameter("key");
dao.delUser(key);
return (actionMapping.findForward("delview"));
}
if(action.equals("view"))
{
request.setAttribute("rs",dao.getAlluser());
return (actionMapping.findForward("view"));
}

return null;
}
//---------------------------------------------
public Collection getDep()
{
getDbConnection db=new getDbConnection();
Connection con=db.getCon();
ResultSet rs=null;

PreparedStatement ps = null;

ArrayList rslist = new ArrayList();

String sql="select * from mydep";
try {
ps = con.prepareStatement(sql);
rs=ps.executeQuery();
while(rs.next())
{
HashMap rscol = new HashMap();
rscol.put("id",rs.getString("dep_id"));
rscol.put("name1",rs.getString("dep_name"));
rslist.add(rscol);
}
}
catch (SQLException e)
{
System.out.println("sql error");
}
finally
{
try{
con.close();
db.d_close();
}
catch(Exception e) {}
}
return rslist;
}
}



package mystruts;

import org.apache.struts.action.*;
import javax.servlet.http.*;

public class user1Action extends Action {
public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception
{
userActionForm uaf = (userActionForm) actionForm;
if(uaf.getAction().equals("add"))
{
new userdao().userInsert(uaf);
return (actionMapping.findForward("view"));
}
if(uaf.getAction().equals("edit"))
{
new userdao().userUpdate(uaf);
return (actionMapping.findForward("view"));
}
return null;
}
}
(未完待續(xù))
簡(jiǎn)單的Struts應(yīng)用開(kāi)發(fā)(5)

第六步:建立JSP視圖頁(yè)面 (主要有兩個(gè)jsp文件. 添加頁(yè)面. adduser.jsp 查看頁(yè)面 viewuser.jsp)

adduser.jsp

<%@ taglib uri="/Web-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ page contentType="text/html; charset=gb2312" %>
<html:html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>
adduser
</title>
</head>
<body>
<h1> </h1>
<p>
<html:form action="/user1Action.do" method="POST">
<html:hidden property="action"/>
<br>
部門(mén):
<html:select property="dep">
<html:options collection="dep" property="id" labelProperty="name1"/>
</html:select>
<br>
ID:
<logic:equal name="userActionForm" property="action" scope="request" value="add">
<html:text property="user_id"/>
</logic:equal>
<logic:equal name="userActionForm" property="action" scope="request" value="edit">
<html:text property="user_id" readonly="true"/>
</logic:equal>
<br>
名字:<html:text property="user_name"/>
<br>
電話:<html:text property="tel"/>
<br>
<html:submit property="submit" value="Submit"/><br>
<html:reset value ="Reset"/>
</html:form>
</body>
</html:html>

viewuser.jsp

<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ page contentType="text/html; charset=GBK" %>
<html:html>
<head>
<title>
viewuser
</title>
</head>
<body>
<div align="center"><a href="userAction.do?action=add">add </a></div>
<table width="60%" border="1" align="center">
<tr bgcolor="#CCCCCC">
<td>ID</td>
<td>user_name</td>
<td>dep</td>
<td>tel</td>
<td>modify</td>
<td>del</td>
</tr>
<logic:iterate name="rs" id="user" scope="request" type="Java.util.HashMap">
<tr>
<td><bean:write name="user" property="user_id"/> </td>
<td><bean:write name="user" property="user_name"/> </td>
<td><bean:write name="user" property="dep_name"/> </td>
<td><bean:write name="user" property="tel"/> </td>
<td><a href="userAction.do?action=edit&key=<bean:write name="user" property="user_id"/>">modify</a></td>
<td><a href="userAction.do?action=del&key=<bean:write name="user" property="user_id"/>">del</a></td>
</tr>
</logic:iterate>
</table>
</body>
</html:html>

建產(chǎn)一個(gè)轉(zhuǎn)向頁(yè)面 (index.jsp)
<%@ page contentType="text/html; charset=gb2312" %>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body>
<% response.sendRedirect("userAction.do?action=view"); %>
</body>
</html>

遞七步:建立struts配置文件 (WEB-INF/config-struts.XML)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<form-beans>
<form-bean name="userActionForm" type="mystruts.userActionForm" />
</form-beans>
<action-mappings>
<action type="mystruts.userAction" scope="request" path="/userAction">
<forward name="view" path="/viewuser.jsp" />
<forward name="add" path="/adduser.jsp" />
<forward name="delview" path="/userAction.do?action=view" />
</action>
<action name="userActionForm" type="mystruts.user1Action" scope="request" path="/user1Action">
<forward name="view" path="/userAction.do?action=view" />
</action>
</action-mappings>
</struts-config>

運(yùn)行程序:
啟動(dòng)tomcat
啟動(dòng)IE 在地址欄中輸入 http://localhost:8080/mystruts

OK..... (全文完)
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
淺析J2EE應(yīng)用中的時(shí)間值字段的數(shù)據(jù)類型-
struts原理與實(shí)踐(7)
Struts2+DAO實(shí)現(xiàn)用戶登陸與添加
用struts2 and prototype.js實(shí)現(xiàn)無(wú)刷新刪除
運(yùn)用類反射機(jī)制簡(jiǎn)化Struts應(yīng)用程序的開(kāi)發(fā)
Struts數(shù)據(jù)源配置過(guò)程
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服