日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

java中document解析jsp,JSP基于dom解析xml实例详解

發(fā)布時(shí)間:2023/12/10 javascript 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中document解析jsp,JSP基于dom解析xml实例详解 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文實(shí)例講述了JSP基于dom解析xml的方法。分享給大家供大家參考,具體如下:

初次學(xué)習(xí)用dom操作xml文件,有很多不足之處,牛人多給點(diǎn)建議,練習(xí)時(shí)我沒對中文做亂碼處理,也沒做驗(yàn)證哦!O(∩_∩)O~

實(shí)體類:User

public class User {

private String name;

private String pwd;

private String email;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getPwd() {

return pwd;

}

public void setPwd(String pwd) {

this.pwd = pwd;

}

public String getEmail() {

return email;

}

public void setEmail(String email) {

this.email = email;

}

}

數(shù)據(jù)訪問層接口:UserDao

public interface UserDao {

boolean login(String name, String pwd);

void insertUser(User user);

List selectUser();

void updateUser(User user);

boolean deleteUser(String name);

public User findByName(String name);

}

接口實(shí)現(xiàn)類:UserDaoImpl

public class UserDaoImpl implements UserDao {

private static final String PATH="xml文件路徑";

private void build(Document dom) {

try {

//定義轉(zhuǎn)換器

Transformer f = TransformerFactory.newInstance().newTransformer();

//設(shè)置輸出的編碼格式

f.setOutputProperty(OutputKeys.ENCODING, "UTF-8");

//構(gòu)建dom源

DOMSource source = new DOMSource(dom);

//指定文件存放的目標(biāo)路勁

StreamResult sr = new StreamResult(new File(PATH));

//執(zhí)行轉(zhuǎn)換操作

f.transform(source, sr);

} catch (Exception e) {

e.printStackTrace();

}

}

//登陸

public boolean login(String name, String pwd) {

boolean flag = false;

try {

//根據(jù)以有的xml文件創(chuàng)建Document對象

Document dom = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new File(PATH));

//獲取user節(jié)點(diǎn)下的子節(jié)點(diǎn)

NodeList list = dom.getElementsByTagName("user");

//遍歷list,數(shù)據(jù)匹配退出

for(int i = 0; i

Element el = (Element)list.item(i);

if(name.equals(el.getAttribute("name")) && pwd.equals(el.getAttribute("pwd"))) {

flag = true;

break;

}

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return flag;

}

//添加操作

public void insertUser(User user) {

try {

//創(chuàng)建全新的Document對象

Document dom = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();

//創(chuàng)建根節(jié)點(diǎn)users

Element el = dom.createElement("users");

//將根節(jié)點(diǎn)添加到dom中

dom.appendChild(el);

//創(chuàng)建子節(jié)點(diǎn)

Element e2 = dom.createElement("user");

//將子節(jié)點(diǎn)添加到根節(jié)點(diǎn)中

el.appendChild(e2);

//取得xml文件中現(xiàn)有的信息

List users = this.selectUser();

for(int i = 0; i < users.size(); i++){

//創(chuàng)建節(jié)點(diǎn)user

Element el3 = dom.createElement("user");

User us =users.get(i);

//設(shè)置節(jié)點(diǎn)的屬性(name,pwd,email)

el3.setAttribute("name", us.getName());

el3.setAttribute("pwd", us.getPwd());

el3.setAttribute("email", us.getEmail());

//添加到根節(jié)點(diǎn)中

el.appendChild(el3);

}

e2.setAttribute("name", user.getName());

e2.setAttribute("pwd", user.getPwd());

e2.setAttribute("email", user.getEmail());

build(dom);

} catch (ParserConfigurationException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

//查詢操作

public List selectUser() {

List userList = new ArrayList();

try {

//根據(jù)已有的xml文件創(chuàng)建dom

Document dom = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new File(PATH));

//獲取所有user節(jié)點(diǎn)下的子節(jié)點(diǎn)

NodeList list = dom.getElementsByTagName("user");

for(int i = 0;i

User user =new User();

Element element = (Element)list.item(i);

user.setName(element.getAttribute("name"));

user.setPwd(element.getAttribute("pwd"));

user.setEmail(element.getAttribute("email"));

userList.add(user);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return userList;

}

//修改操作

public void updateUser(User user) {

try {

//根據(jù)以有的xml文件創(chuàng)建dom

Document dom = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new File(PATH));

//獲取user節(jié)點(diǎn)下的子節(jié)點(diǎn)

NodeList list = dom.getElementsByTagName("user");

//遍歷list

for(int i = 0;i < list.getLength();i++) {

Element el = (Element)list.item(i);

//根據(jù)name屬性去修改

if(user.getName().equals(el.getAttribute("name"))) {

el.setAttribute("pwd", user.getPwd());

el.setAttribute("email", user.getEmail());

build(dom);

}

}

} catch (SAXException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (ParserConfigurationException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

//刪除操作

public boolean deleteUser(String name) {

try {

//根據(jù)以有xml文件創(chuàng)建domcumet對象

Document dom = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new File(PATH));

//獲取user節(jié)點(diǎn)下的子節(jié)點(diǎn)

NodeList list = dom.getElementsByTagName("user");

//遍歷list

for(int i=0;i

Element el = (Element)list.item(i);

if(name.equals(el.getAttribute("name"))) {

el.getParentNode().removeChild(el);

build(dom);

return true;

}

}

} catch (Exception e) {

// TODO: handle exception

}

return false;

}

//根據(jù)name查找

public User findByName(String name) {

User user = new User();

try {

//根據(jù)以后的xml文件創(chuàng)建document對象

Document dom = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new File(PATH));

//獲取user節(jié)點(diǎn)下的子節(jié)點(diǎn)集合

NodeList list = dom.getElementsByTagName("user");

for(int i=0;i

Element el = (Element)list.item(i);

if(name.equals(el.getAttribute("name"))) {

user.setName(el.getAttribute("name"));

user.setPwd(el.getAttribute("pwd"));

user.setEmail(el.getAttribute("email"));

break;

}

}

} catch (Exception e) {

e.printStackTrace();

}

return user;

}

}

業(yè)務(wù)邏輯層接口:UserService

boolean login(String name, String pwd);

void insertUser(User user);

List selectUser();

void updateUser(User user);

boolean deleteUser(String name);

public User findByName(String name);

接口實(shí)現(xiàn)類:UserServiceImpl

public class UserServiceImpl implements UserService {

UserDao dao = new UserDaoImpl();

public boolean login(String name, String pwd) {

return dao.login(name, pwd);

}

public void insertUser(User user) {

dao.insertUser(user);

}

public List selectUser() {

return dao.selectUser();

}

public void updateUser(User user) {

dao.updateUser(user);

}

public boolean deleteUser(String name) {

return dao.deleteUser(name);

}

public User findByName(String name) {

return dao.findByName(name);

}

}

控制層:UserAction

public class UserAction extends ActionSupport{

private User user;

public User getUser() {

return user;

}

public void setUser(User user) {

this.user = user;

}

UserService userService = new UserServiceImpl();

public String selectUser(){

HttpServletRequest request = ServletActionContext.getRequest();

List users = new ArrayList();

users = userService.selectUser();

request.setAttribute("USER", users);

return "select";

}

/**

* 登陸

* @return

*/

public String login(){

if(user.getName() != null && user.getPwd() != null) {

boolean flag = userService.login(user.getName(), user.getPwd());

if(flag) {

return SUCCESS;

}

}

return ERROR;

}

/**

* 修改

* @return

*/

public String update(){

userService.updateUser(user);

return "update";

}

/**

* 編輯

* @return

*/

public String edit(){

HttpServletRequest request = ServletActionContext.getRequest();

String name = request.getParameter("uName");

if(name != null) {

User u = userService.findByName(name);

request.setAttribute("USER", u);

}

return "edit";

}

/**

* 刪除

* @return

*/

public String delete(){

HttpServletRequest request = ServletActionContext.getRequest();

String name = request.getParameter("uName");

boolean flag = userService.deleteUser(name);

System.out.println(flag);

return SUCCESS;

}

/**

* 添加

* @return

*/

public String insert(){

userService.insertUser(user);

return "insert";

}

}

struts.xml配置(本人用的的struts2):

/p>

"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"

"http://struts.apache.org/dtds/struts-2.1.7.dtd">

/list.jsp

/list.action

/login.jsp

/list.action

/list.action

/list.action

/update.jsp

web.xml配置

xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

index.jsp

struts2

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

struts2

/*

四個(gè)頁面:login.jsp? list.jsp insert.jsp,update.jsp

login.jsp

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

My JSP 'login.jsp' starting page

首頁|注冊

用戶名:
密碼:

list.jsp

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

My JSP 'list.jsp' starting page

注冊

用戶列表
序號用戶名密碼郵箱刪除編輯
${temp.index+1}${u.name }${u.pwd }${u.email}刪除編輯

insert.jsp

String path = request.getContextPath();

String basePath = request.getScheme() + "://"

+ request.getServerName() + ":" + request.getServerPort()

+ path + "/";

%>

My JSP 'register.jsp' starting page

首頁

用戶名:

密碼:

郵箱:

update.jsp

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

My JSP 'update.jsp' starting page

首頁

更新操作

用戶名:
密碼:
郵箱:

本人學(xué)習(xí)所用的user.xml文件

希望本文所述對大家jsp程序設(shè)計(jì)有所幫助。

總結(jié)

以上是生活随笔為你收集整理的java中document解析jsp,JSP基于dom解析xml实例详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。