| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| « Aug | ||||||
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | |
2. Ứng dụng Servlet đầu tiên với eclipse
3. Sử dụng HttpSession tạo ứng dụng giỏ hàng trong Servlet
4. Declarative Security in Servet
5. Form-based security in servlet
6. Programatic security in serlet
7. Form-based security với Tomcat users
xuân thế said
Chào thầy Hải…thầy làm ơn giúp em về project e đang chuẩn bị làm,e lam web jsp nhung chua hieu ro ve Servlet va Bean…Mong thầy hương dan cho em cách tiếp cận công nghệ này..Em thục sưc vẫn chưa hiểu rõ được vấn đề…
Nguyễn Long said
Tôi có vấn đề này kính mong được sự trợ giúp của anh Hải
Đó là tôi coding để tạo file xml và thêm node + data cho node vào file xml đã tạo này sử dụng Servlet Java, code như sau :
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.xml.parsers.*;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Text;
import org.xml.sax.InputSource;
import java.io.StringReader;
import java.io.StringWriter;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.xml.sax.SAXException;
public class ServletAdmin extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
// try {
String username="";
String password="";
String role="";
if(request.getParameter("username")!=null && request.getParameter("password")!=null && request.getParameter("role")!=null)
{
username = request.getParameter("username").toString();
password = request.getParameter("password").toString();
role=request.getParameter("role").toString();
}
else if(request.getParameter("username").equals("")){
out.println("");
return;
}
else{
out.println("");
return;
}
if(request.getParameter("role").toString().equals("select"))
{
out.println("");
return;
}
try
{
File file = new File("D:/abc.xml");
if(!file.isDirectory() && !file.exists())
{
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = builderFactory.newDocumentBuilder();
//creating a new instance of a DOM to build a DOM tree.
Document doc = docBuilder.newDocument();
//This method creates an element node
Element root = doc.createElement("Person");
//adding a node after the last child node of the specified node.
doc.appendChild(root);
Element rootE=doc.createElement("User");
root.appendChild(rootE);
Element child1 = doc.createElement("UserName");
rootE.appendChild(child1);
Text text1 = doc.createTextNode(username);
child1.appendChild(text1);
Element child2 = doc.createElement("Password");
rootE.appendChild(child2);
Text text2 = doc.createTextNode(password);
child2.appendChild(text2);
Element child3 = doc.createElement("Role");
rootE.appendChild(child3);
Text text3 = doc.createTextNode(role);
child3.appendChild(text3);
//TransformerFactory instance is used to create Transformer objects.
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
// create string from xml tree
StringWriter sw = new StringWriter();
StreamResult result = new StreamResult(sw);
DOMSource source = new DOMSource(doc);
transformer.transform(source, result);
String xmlString = sw.toString();
BufferedWriter bw = new BufferedWriter
(new OutputStreamWriter(new FileOutputStream(file)));
bw.write(xmlString);
bw.flush();
bw.close();
out.println("");
}else{
//creating a new instance of a DOM to build a DOM tree.
Document doc =DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new InputSource(new FileReader(file)));
Element root=doc.getDocumentElement();
Element child=(Element)root.getFirstChild();
//This method creates an element node
Element rootE=(Element)child.cloneNode(true);
root.appendChild(rootE);
Element child1 = doc.createElement("UserName");
rootE.appendChild(child1);
Text text1 = doc.createTextNode(username);
child1.appendChild(text1);
Element child2 = doc.createElement("Password");
rootE.appendChild(child2);
Text text2 = doc.createTextNode(password);
child2.appendChild(text2);
Element child3 = doc.createElement("Role");
rootE.appendChild(child3);
Text text3 = doc.createTextNode(role);
child3.appendChild(text3);
//TransformerFactory instance is used to create Transformer objects.
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer;
StringWriter sw = new StringWriter();
transformer = factory.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
// create string from xml tree
StreamResult result = new StreamResult(sw);
DOMSource source = new DOMSource(doc);
transformer.transform(source, result);
out.println("");
}//end else
}
catch(Exception e)
{
out.println(e);
}
}
}
Khi chạy lần đầu thì ok nhưng khi chạy thêm nữa thì gặp lỗi này:
java.lang.ClassCastException: com.sun.org.apache.xerces.internal.dom.DeferredTex tImpl cannot be cast to org.w3c.dom.Element
Kính nhờ anh Hải hướng dẫn cách sửa lỗi này. Chân thành cám ơn anh Hải
Võ Văn Hải said
Anh thay Element thành Node thì sẽ không lỗi cũ nữa, nhưng có lỗi mới do anh clone nút nên không xác định được vị trí để thêm.
Tôi sửa lại cho anh nhé! Anh có thể tạo 1 method cho code ngắn lại.
Code như sau:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
String username = "";
String password = "";
String role = "";
username = request.getParameter("username").toString();
password = request.getParameter("password").toString();
role = request.getParameter("role").toString();
File file = new File("D:/abc.xml");
Document doc = null;
if (!file.isDirectory() && !file.exists()) {
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = builderFactory.newDocumentBuilder();
doc = docBuilder.newDocument();
Element root = doc.createElement("Person");
doc.appendChild(root);
Element rootE = doc.createElement("User");
root.appendChild(rootE);
Element child1 = doc.createElement("UserName");
rootE.appendChild(child1);
Text text1 = doc.createTextNode(username);
child1.appendChild(text1);
Element child2 = doc.createElement("Password");
rootE.appendChild(child2);
Text text2 = doc.createTextNode(password);
child2.appendChild(text2);
Element child3 = doc.createElement("Role");
rootE.appendChild(child3);
Text text3 = doc.createTextNode(role);
child3.appendChild(text3);
} else {
doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse("D:/abc.xml");
Element root = doc.getDocumentElement();
Element rootE = doc.createElement("User");
root.appendChild(rootE);
Element child1 = doc.createElement("UserName");
rootE.appendChild(child1);
Text text1 = doc.createTextNode(username);
child1.appendChild(text1);
Element child2 = doc.createElement("Password");
rootE.appendChild(child2);
Text text2 = doc.createTextNode(password);
child2.appendChild(text2);
Element child3 = doc.createElement("Role");
rootE.appendChild(child3);
Text text3 = doc.createTextNode(role);
child3.appendChild(text3);
}
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
FileOutputStream os = new FileOutputStream("D:/abc.xml");
StreamResult result = new StreamResult(os);
DOMSource source = new DOMSource(doc);
transformer.transform(source, result);
os.close();
} catch (Exception ex) {
ex.printStackTrace();
} finally {
out.close();
}
}
thanh luan said
Thầy giúp em về lỗi này . Nó luôn trả về null
JSFExample
Pack Bean:
FileUpload.Java
package com.demo.ui;
import java.io.*;
import javax.servlet.http.*;
import org.apache.myfaces.custom.fileupload.UploadedFile;
import javax.faces.context.FacesContext;
public class FileUploadForm{
private UploadedFile upFile;
boolean rendSuccess=false;
boolean rendFailure=false;
public FileUploadForm(){
}
public UploadedFile getUpFile(){
return upFile;
}
public void setUpFile(UploadedFile upFile){
this.upFile = upFile;
}
public boolean getRendSuccess(){
return rendSuccess;
}
public void setRendSuccess(boolean rendSuccess){
this.rendSuccess = rendSuccess;
}
public boolean getRendFailure(){
return rendFailure;
}
public void setRendFailure(boolean rendFailure){
this.rendFailure = rendFailure;
}
public String upload() throws IOException{
try {
InputStream stream = upFile.getInputStream();
long size = upFile.getSize();
byte [] buffer = new byte[(int)size];
stream.read(buffer, 0, (int)size);
stream.close();
rendSuccess=true;
rendFailure=false;
System.out.println(“File Upload Successful.”);
return “ok”;
}
catch (Exception ioe) {
System.out.println(“File Upload Unsuccessful.”);
rendSuccess=false;
rendFailure=true;
return “no”;
}
}
}
Page JSF
t:inputFileUpload example
web.xml
…..
extensionsFilter
org.apache.myfaces.webapp.filter.ExtensionsFilter
Set the size limit for uploaded files.
Format: 10 – 10 bytes
10k – 10 KB
10m – 10 MB
1g – 1 GB
uploadMaxFileSize
100m
Set the threshold size – files below this
limit are stored in memory, files above this limit
are stored on disk.
Format: 10 – 10 bytes
10k – 10 KB
10m – 10 MB
1g – 1 GB
uploadThresholdSize
100k
extensionsFilter
*.jsf
extensionsFilter
/faces/*
…
Kết quả trả về : java.lang.NullpoiterException
Nếu thầy có vị dụ nào về upload file dùng jsf thì cho em một ví dụ
NgoToi said
Xin lỗi, bạn nào có bài tập đơn giản về Servlet send cho mình để tham khảo nhé, tại vì mình mới bắt đầu tự học về Servlet nên có vài bài tập đơn giản để nghiên cứu thì sẽ nhanh hơn tự mò nhiều.
Bạn nào có thì send cho mình nhé. Mình cám ơn nhiều.
Nếu bạn nào có thì send qua mail cho mình: anhcancoem141990@yahoo.com
Thanks các bạn.
Võ Văn Hải said
Có rồi đấy chứ!
NgoToi said
e chưa có mà thầy , Nếu thầy biết bài tập servlet nằm ở đâu thì thầy cho e link với . Mà thầy ơi, ở trường mình (Trường ĐH Công Nghiệp TP.HCM đó). Sao mà chỉ phân ra 2 chuyên ngành đó là: Web với Net, mà sao ko có lập trình ứng dụng hả thầy. E thích đi theo lập trình ứng dụng, nhưng giờ chỉ có 2 ngành, ko có lựa chọn nên vừa mới đk Web.
NgoToi said
Có đâu Thầy, nếu thầy biết mục nào có thì thầy gửi link giùm cho em với. Thầy ơi, em có thắc mắc là vì sao trường ĐH Công Nghiệp TP.HCM lại phân ra thành 2 ngành WEB với NET mà ko có lập trình ứng dụng thầy ? Em thích theo lập trình ứng dụng, nhưng lại ko có, cho nên bây giờ ĐK theo WEB, sang kỳ 1 tới đây là phân ngành rồi.