JSP之自己构建WEB应用

来源:互联网 发布:svd分解算法推荐 编辑:程序博客网 时间:2024/05/20 16:43

自己构建Web应用

1.创建一个webDemo的文件夹

2.在webDemo文件夹下创建WEB-INF文件夹

3.在其他web应用中找到web.xml文件(只保留最原始的部分),将web.xml文件放到WEB-INF文件夹下

4.在WEB-INF下创建lib和classes文件夹

这已经是一个空的web应用,将webDemo放到Tomcat服务器的webapps路径下.

在webDemo文件夹下可以写一些jsp文件.

webDemo的格式如下

webDemo

   !WEB-INF(客户端浏览器无法访问这个路径下的任何内容,可以将登录验证后的页面放到这个目录下)

   !   !web.xml(主要是配置sevlet的一个文件)

   !   !lib文件夹(放jar文件,例如mysql数据库驱动的文件(xx.jar))

   !   !classes文件夹(放置一些JavaBean文件(xx.class))

   !xx.jsp

如果写的一些页面让浏览器访问不到,可以将其放置在WEB-INF目录下.

JSP的四种基本语法

1.注释

<!--HTML的注释-->

<%JSP的注释%>

区别:html的注释可以在源代码中显示,而jsp的注释在源代码中看不到.jsp的注释部分不会发送到客户端.

2.jsp声明

<%!声明部分%>

声明变量和方法

jsp页面会编译成一个Servlet类,每个Servlet在容器中只有一个实例:在JSP中声明的变量是成员变量,成员变量在创建实例时初始化,该变量的值一直保存,直到实例销毁.(可以设置一个成员变量(count),用作某个页面的浏览量(每当访问一次count++)).


这里有一个很重要的知识点:<!% int a1 %>和<%int a2%>的区别

a1是全局变量,可以被多线程共享,a1的值受所有线程的影响.

a2是局部变量,作用于当前程序片及之后的程序片.其他线程不能影响a2的变化.

如果在<!%

              int count=0;

              public void addCount(){

                         count++;

                    }

        %>

在上述定义中addCount()方法中对count进行操作,如果想当前线程使用addCount时,其他线程不能在使用addCount方法,需要加锁(synchronized void addCount()),这样当一个线程使用addCount方法时,其他线程想使用就需要排队等待.

3.输出JSP表达式

<%out.println();%>

<%=表达式%>

4.JSP脚本

可以定义变量(变量是局部变量)

脚本中不能定义方法.

注:jsp连接数据库的代码(lib中要有mysql的驱动程序)

//注册数据库驱动
    Class.forName("com.mysql.jdbc.Driver");
    //获取数据库连接
    Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/数据库名","用户名","密码");
    //创建Statement
    Statement stmt=conn.createStatement();
    //执行查询
    ResultSet rs=stmt.executeQuery("sql语句");
    %>

原创粉丝点击