JSP和JS的区别

JSP和JS的区别,第1张

JS全称是JavaScript,是运行的客户端的一种页面前端的脚本语言。用于做前端页面特效  数据校验 等等诸多功能。

JSP全称Java Server Pages,是一种运行在服务器端 用来编写动态网站后台的语言,使用JPS可以制作JSP动态网站。它的特点是安全新能可靠,一般用于政府及银行级别的网站开发,学习难度比较高

具体的详细对比:

(一 简述)

JS,是JavaScript的缩写形式,而JavaScript是一种基于对象和事件驱动并且具有相对安全性的客户端脚本语言。

它在Web开发中JS占据着举足轻重的地位,所有交互、逻辑层的代码都应该由它来实现。

(二 具体角色)

如果把网站建设比喻成盖楼房,那么HTML就是这个楼房的钢筋水泥,CSS就是楼房的布局装饰,而JS就是楼房中大大小小无处不在的开关了。

从这样的角度而言,JS就是Web开发中负责逻辑层的语言,而现如今相当火热的“用户体验”的概念,最重要的代码部分还是需要JS来编写。

(三 使用方式)

JS的引入方式大体可以分为两种:

第一种是直接写入当前页面中,需要写在标签之间即可。

第二种是写入一个js的文件中,然后通过

(一JSP 简介)

1)JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。

2)JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP *** 作和命令来编写JSP。

3)JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。

4)JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息。

(二jsp与其他后台语言的优势)

1)性能更加优越,因为JSP可以直接在HTML网页中动态嵌入元素而不需要单独引用CGI文件。

2)服务器调用的是已经编译好的JSP文件,而不像CGI/Perl那样必须先载入解释器和目标脚本。

3)JSP基于Java Servlets API,因此,JSP拥有各种强大的企业级Java API,包括JDBC,JNDI,EJB,JAXP等等。

4)JSP页面可以与处理业务逻辑的servlets一起使用,这种模式被Java servlet 模板引擎所支持。

最后,JSP是Java EE不可或缺的一部分,是一个完整的企业级应用平台。这意味着JSP可以用最简单的方式来实现最复杂的应用。

以下列出了使用JSP带来的其他好处:

1)与ASP相比:JSP有两大优势。首先,动态部分用Java编写,而不是VB或其他MS专用语言,所以更加强大与易用。第二点就是JSP易于移植到非MS平台上。

2)与纯 Servlets相比:JSP可以很方便的编写或者修改HTML网页而不用去面对大量的println语句。

3)与SSI相比:SSI无法使用表单数据、无法进行数据库链接。

4)与JavaScript相比:虽然JavaScript可以在客户端动态生成HTML,但是很难与服务器交互,因此不能提供复杂的服务,比如访问数据库和图像处理等等。

5)与静态HTML相比:静态HTML不包含动态信息。

还有这样的需求呀?无奇不有……

写的dao的实现就行了呀 ,何必得要jsp呢?用jsp,只会越来越乱^

CustomerDaojava

package cnitcastdao;

import javautilList;

import cnitcastdomainCustomer;

public interface CustomerDao {

public void add(Customer customer);

public Customer find(int id);

public List getAllCustomer();

public void delete(int id);

public void update(Customer customer);

public int getAllRecord();

public List getCustomerByPage(int startindex,int pagesize);

}

CustomerDaoJdbcImpljava

package cnitcastdaoimpl;

import javasqlConnection;

import javasqlPreparedStatement;

import javasqlResultSet;

import javautilArrayList;

import javautilList;

import cnitcastdaoCustomerDao;

import cnitcastdomainCustomer;

import cnitcastutilJdbcUtils;

public class CustomerDaoJdbcImpl implements CustomerDao {

/

id int primary key auto_increment,

name varchar(20) not null,

sex varchar(4) not null,

birthday date,

cellphone varchar(20) not null,

Email varchar(40),

preference varchar(100),

type varchar(40),

Description varchar(255)

/

public void add(Customer customer) {

Connection conn = null;

PreparedStatement st = null;

ResultSet rs = null;

try{

conn = JdbcUtilsgetConnection();

String sql = "insert into customer(name,sex,birthday,cellphone,email,preference,type,description) values(,,,,,,,)";

st = connprepareStatement(sql);

stsetString(1, customergetName());

stsetString(2, customergetSex());

stsetDate(3, new javasqlDate(customergetBirthday()getTime()));

stsetString(4, customergetCellphone());

stsetString(5, customergetEmail());

stsetString(6, customergetPreference());

stsetString(7, customergetType());

stsetString(8, customergetDescription());

stexecuteUpdate();

}catch(Exception e){

throw new RuntimeException(e);

}finally{

JdbcUtilsrelease(rs, st, conn);

}

}

public void delete(int id) {

Connection conn = null;

PreparedStatement st = null;

ResultSet rs = null;

try{

conn = JdbcUtilsgetConnection();

String sql = "delete from customer where id=";

st = connprepareStatement(sql);

stsetInt(1, id);

stexecuteUpdate();

}catch(Exception e){

throw new RuntimeException(e);

}finally{

JdbcUtilsrelease(rs, st, conn);

}

}

public Customer find(int id) {

Connection conn = null;

PreparedStatement st = null;

ResultSet rs = null;

try{

conn = JdbcUtilsgetConnection();

String sql = "select id,name,sex,birthday,cellphone,email,preference,type,description from customer where id=";

st = connprepareStatement(sql);

stsetInt(1, id);

rs = stexecuteQuery();

if(rsnext()){

Customer c = new Customer();

csetId(rsgetInt("id"));

csetName(rsgetString("name"));

csetSex(rsgetString("sex"));

csetBirthday(rsgetDate("birthday"));

csetCellphone(rsgetString("cellphone"));

csetEmail(rsgetString("email"));

csetPreference(rsgetString("preference"));

csetType(rsgetString("type"));

csetDescription(rsgetString("description"));

return c;

}

return null;

}catch(Exception e){

throw new RuntimeException(e);

}finally{

JdbcUtilsrelease(rs, st, conn);

}

}

/

Id 编号 varchar(20)

name 客户姓名 varchar(20)

sex 性名 varchar(4)

birthday 生日 date

cellphone 手机 varchar(20)

Email 电子邮件 varchar(40)

preference 客户爱好 varchar(100)

type 客户类型 varchar(40)

Description 备注 varchar(255)

/

public List getAllCustomer() {

Connection conn = null;

PreparedStatement st = null;

ResultSet rs = null;

try{

conn = JdbcUtilsgetConnection();

String sql = "select id,name,sex,birthday,cellphone,email,preference,type,description from customer order by id";

st = connprepareStatement(sql);

rs = stexecuteQuery();

List list = new ArrayList();

while(rsnext()){

Customer c = new Customer();

csetId(rsgetInt("id"));

csetName(rsgetString("name"));

csetSex(rsgetString("sex"));

csetBirthday(rsgetDate("birthday"));

csetCellphone(rsgetString("cellphone"));

csetEmail(rsgetString("email"));

csetPreference(rsgetString("preference"));

csetType(rsgetString("type"));

csetDescription(rsgetString("description"));

listadd(c);

}

return list;

}catch(Exception e){

throw new RuntimeException(e);

}finally{

JdbcUtilsrelease(rs, st, conn);

}

}

public void update(Customer customer) {

Connection conn = null;

PreparedStatement st = null;

ResultSet rs = null;

try{

conn = JdbcUtilsgetConnection();

String sql = "update customer set name=,sex=,birthday=,cellphone=,email=,preference=,type=,description= where id=";

st = connprepareStatement(sql);

stsetString(1, customergetName());

stsetString(2, customergetSex());

stsetDate(3, new javasqlDate(customergetBirthday()getTime()));

stsetString(4, customergetCellphone());

stsetString(5, customergetEmail());

stsetString(6, customergetPreference());

stsetString(7, customergetType());

stsetString(8, customergetDescription());

stsetInt(9, customergetId());

stexecuteUpdate();

}catch(Exception e){

throw new RuntimeException(e);

}finally{

JdbcUtilsrelease(rs, st, conn);

}

}

public int getAllRecord() {

Connection conn = null;

PreparedStatement st = null;

ResultSet rs = null;

try{

conn = JdbcUtilsgetConnection();

String sql = "select count() from customer";

st = connprepareStatement(sql);

rs = stexecuteQuery();

if(rsnext()){

return rsgetInt(1);

}

return 0;

}catch(Exception e){

throw new RuntimeException(e);

}finally{

JdbcUtilsrelease(rs, st, conn);

}

}

public List getCustomerByPage(int startindex, int pagesize) {

Connection conn = null;

PreparedStatement st = null;

ResultSet rs = null;

try{

conn = JdbcUtilsgetConnection();

String sql = "select id,name,sex,birthday,cellphone,email,preference,type,description from customer limit ,";

st = connprepareStatement(sql);

stsetInt(1, startindex);

stsetInt(2, pagesize);

rs = stexecuteQuery();

List list = new ArrayList();

while(rsnext()){

Customer c = new Customer();

csetId(rsgetInt("id"));

csetName(rsgetString("name"));

csetSex(rsgetString("sex"));

csetBirthday(rsgetDate("birthday"));

csetCellphone(rsgetString("cellphone"));

csetEmail(rsgetString("email"));

csetPreference(rsgetString("preference"));

csetType(rsgetString("type"));

csetDescription(rsgetString("description"));

listadd(c);

}

return list;

}catch(Exception e){

throw new RuntimeException(e);

}finally{

JdbcUtilsrelease(rs, st, conn);

}

}

}

用sql server的时候就不用设置odbc了,那个已经过时了。

现在使用最多的是打开1433端口,使用数据库驱动直接和数据库交互。

这样在效率上要明显高于使用jdbc+ODBC的。因为直接用java和sql server交互是需要jdbc一层,使用jdbc+odbc的话需要两次交互的,影响了性能。

sqlserver默认的情况下是不打开1433端口的,需要打补丁,如果你用的是2000版本的话可以打上sp3补丁,好像文件名叫做chs_sql2ksp3(SQL Server 2000 更新程序)exe吧,具体的也不清楚了。如果你使用的是2005,到网上查下,看需要什么补丁,1433端口打开后就方便了,不用配置数据库源。直接就可以用了,具体用法见下面

try {

// 查找SQL Server的JDBC Driver

ClassforName("commicrosoftjdbcsqlserverSQLServerDriver");

/

用URL,USERNAME,PASSWORD去连接本地的SQL Server数据库 注意:SQL

Server的URL形式是:jdbc:microsoft:sqlserver://数据库服务器名称:数据库端口

/

conn = DriverManager

getConnection(

"jdbc:microsoft:sqlserver://localhost:1433; DatabaseName="test",

"sa", "password");

Systemoutprintln("打开数据库成功");

connclose();

Systemoutprintln("关闭数据库成功");

}

//捕获错误

catch (Exception e) {

//打印出错误信息

Systemoutprintln("发生如下错误:");

Systemoutprintln(egetMessage());

}

直接使用就可以了,根本用不着配置odbc的,用户名为你sqlserver的用户名。密码为sqlserver密码,如果为空,使用空字符串即可。

希望以上会对你有所帮助

1 在jakarta-tomcat-559\conf\Catalina\localhost目录下拷贝一个managerxml文件,在另一个盘中修改成(工程名xml)如:myjndixml文件:

2 把myjndixml文件的内容修改

<Context docBase="F:\myjndi\WebRoot"

privileged="true" antiResourceLocking="false" antiJARLocking="false">

<!-- Link to the user database we will get roles from -->

<ResourceLink name="users" global="UserDatabase"

type="orgapachecatalinaUserDatabase"/>

<Resource name="jdbc/pubs"

auth="Container"

type="javaxsqlDataSource"

driverClassName="commicrosoftjdbcsqlserverSQLServerDrive" url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs"

username="sa"

password=""

maxActive="20"

maxIdle="10"

maxWait="10000"/>

</Context>

3.然后在webxml文件中添加以下内容:

<resource-ref>

<res-ref-name>jdbc/pubs</res-ref-name>

<res-type>javaxsqlDataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

4.如何获取Connection对象具体代码如下:

package comjwdb;

import javasqlConnection;

import javasqlDriverManager;

import javaxnaming;

import javaxsqlDataSource;

publicclass Dbmanager {

private Connection con;

private Context ctx;

public Connection getcon() {

try {

ctx = new InitialContext();

DataSource ds = (DataSource) ctxlookup("java:comp/env/jdbc/pubs");

con = dsgetConnection();

returncon;

} catch (Exception e) {

// TODO Auto-generated catch block

eprintStackTrace();

returnnull;

}

}

}

要注意一点 只要在上引号之间的内容,编译器都判断是字符串了,无法当变量处理,处理方法就像大家说的使用字符串拼接,

即String sql="select from list where guzhangma='" + textfield+"'";//textfield为变量

还有一种方法就是使用占位符,很方便,可以避免被字符串拼接弄的头大,也对sql注入有一定的防范

即使用PreparedStatement代替Statement

这条语句就可以写成:

String sql="select from list where guzhangma=";//这里是一个占位符PrepareStatement pstmt = connprepareStatement(sql);

pstmtsetString(1, textfield);//给占位符赋值,即把textfield的值赋给第一个“?”

详细用法可以去查看API文档

以上就是关于JSP和JS的区别全部的内容,包括:JSP和JS的区别、求JSP向mysql插入,删除,查询数据源代码、JSP编程中的ODBC数据源配置问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10137335.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存