我不懂JSP。我编写了下面的Java JDBC代码,它必须集成在JSP中。
import java.net.URL;
import java.net.URLConnection;
import java.sql.*;
public class searchlink{
public static void main(String args[]) throws Exception {
Connection con=null;
Statement stmt=null;
Statement stmtR=null;
String link="http://www.topix.com/rss/city/ellensburgwa";
String source="Sample";
if(con==null){
SQLConnection.setURL("jdbc:sqlserver://192.168.2.53\\SQL2005;user=sa;password=365media;DatabaseName=LN_ADWEEK");
con=SQLConnection.getNewConnection();
stmt=con.createStatement();
stmtR=con.createStatement();
}
ResultSet rs;
boolean hasRows=false;
rs=stmt.executeQuery("select url from urls where url='"+link+"'");
while(rs.next()){
hasRows=true;
//String mem=rs.getString(1);
System.out.println("This URL already exists in DB");}
if (!hasRows)
{
PreparedStatement insertUrlStatement = con.prepareStatement("INSERT INTO urls VALUES(?, ?, ?, ?, ?)");
insertUrlStatement.setInt(1, 21211);
insertUrlStatement.setString(2, link);
insertUrlStatement.setString(3, source);
insertUrlStatement.setInt(4, 1);
insertUrlStatement.setInt(5, 0);
insertUrlStatement.executeUpdate();
}
}
}
最初,我的任务是创建一个文本框,并将用户在其中输入的值分配给上面代码中的String命名链接。
请建议如何为此构建JSP程序。另外,请告诉我是否要在上面的Java代码中进行任何更改以便在JSP中进行集成,或者我可以将整个程序包含在<% content %>
中。
答案 0 :(得分:4)
首先,您应该avoid在JSP文件中编写Java代码。
这是一步一步:
至少学习 HTTP和HTML。至关重要的是,您需要了解HTTP的全部内容并区分“服务器端”和“客户端”概念。您还需要学习HTML作为Web标记语言,并HTML forms来收集用户输入。 This answer contains helpful links。
学习JSP和Servlet。您需要了解JSP是一种基于Java的视图技术,它提供了一个用于编写HTML / CSS / JS的模板,然后将其发送到Web浏览器。 This answer contains helpful links
学过1和2后,开始使用带有必要输入字段的简单HTML表单创建JSP文件:
<form action="servleturl" method="post">
<input type="text" name="link">
<input type="text" name="source">
<input type="submit">
</form>
然后创建一个extends
HttpServlet
的类,它收集这些输入参数并以doPost()
方法保存在数据库中:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String link = request.getParameter("link");
String source = request.getParameter("source");
LinkDAO dao = new LinkDAO();
try {
dao.save(link, source);
} catch (SQLException e) {
throw new ServletException("Saving in DB failed", e);
}
request.getRequestDispatcher("result.jsp").forward(request, response);
}
将此servlet映射到web.xml
url-pattern
servleturl
上的<form action>
(至少应该与 public class LinkDAO {
public void save(String link, String source) throws SQLException {
// Your original code here. You should however modify it to make it
// free of potential resource leaking.
}
}
指向的位置相同)。
然后创建一个DAO类,它执行必要的JDBC操作:
{{1}}
要了解如何开始使用DAO模式,您可能会发现this article非常有用。
答案 1 :(得分:0)
时间去学习一些基础知识:
模型 - 视图 - 控制(MVC)模式将是一个非常好的开始。你很幸运 - 在Java中有很多实现:
http://en.wikipedia.org/wiki/Model%E2%80%93View%E2%80%93Controller#Java
答案 2 :(得分:0)
如果你越过那个障碍id也建议你使用类似spring JdbcDaoSupport来管理你的数据源连接。除了减少您需要编写的行数外,它还有助于连接管理