jsp/servlet入门
2015-04-14 14:44
316 查看
tomcat发布目录设置
编辑tomcat/conf/server.xml在<Host>和</Host>间添加如下:<Context path="/myapp" docBase="d:/myapp" debug="0" reloadable="true"></Context>
启动tomcat后即可访问:http://localhost:8080/myapp
web应用目录结构
d:/myapp/*.jspd:/myapp/WEB-INF/web.xml
d:/myapp/WEB-INF/classes/ 保存*.class文件
d:/myapp/WEB-INF/lib/ 保存*.jar文件
jsp基础知识
原理:jsp由系统编译成servlet,servlet负责相应用户请求。注释:<%--注释--%>
声明:<%!声明变量和函数%>
输出表达式:<%=输出表达式%>
连接数据库jsp实例:test.jsp
<%@ page import="java.sql.*"%> <%@ page language="java" contentType="text/html; charset=utf-8"%> <!DOCTYPE html> <html> <head> <title>连接数据库脚本测试</title> </head> <body> <table bgcolor="yellow" border="1" width="300px"> <% Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456"); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("select * from user"); while (rs.next()) { %> <tr> <td><%=rs.getString(1)%></td> <td><%=rs.getString(2)%></td> <td><%=rs.getString(3)%></td> </tr> <% } %> </table> </body> </html>
编译指令:page、include、taglib <%@ 编译指令名 属性名="属性值"... %>
动作指令:jsp:forward/jsp:param/jsp:include/jsp:plugin/jsp:useBean/jsp:setProperty/jsp:getProperty
package com.zzz.lcy; public class Person { String name; int age; public Person() { } public Person(String name, int age) { this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } }
默认构造函数不能少,编译javac Person -d d:/myapp/WEB-INF/classes/
<%@page language="java" contentType="text/html; charset=utf-8"%> <!DOCTYPE html> <html> <head> <title>BeanTest</title> </head> <body> <jsp:useBean id="beanTest1" class="com.zzz.lcy.Person" scope="page"></jsp:useBean> <jsp:setProperty property="name" name="beanTest1" value="lcy" /> <jsp:setProperty property="age" name="beanTest1" value="34" /> <jsp:getProperty property="name" name="beanTest1" /> <jsp:getProperty property="age" name="beanTest1" /> </body> </html>
内置对象:application/config/exception/out/pageContext/request/response/session
参考:/content/4005354.html
servlet配置
编辑d:/myapp/WEB-INF/web.xml在<webapp></webapp>间添加如下:
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>zzz.lcy.servlet.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/servlet/HelloWorldDemo</url-pattern>
</servlet-mapping>
注意:<servlet-name>必须对应上
访问网址:http://localhost:8080/myapp/servlet/HelloWorldDemo
package zzz.lcy.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) { response.setContentType("text/html;charset=utf-8"); try { PrintWriter out = response.getWriter(); out.println("hello, world."); out.close(); } catch (IOException e) { e.printStackTrace(); } } public void doPost(HttpServletRequest request, HttpServletResponse response) { doGet(request, response); } }
jsp论坛实例(部分代码)
javabeanimport java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; public class FilterTest implements Filter { private FilterConfig config; public void destroy() { config = null; } public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException { ServletContext context = this.config.getServletContext(); long before = System.currentTimeMillis(); System.out.println("开始过滤"); HttpServletRequest req = (HttpServletRequest) arg0; context.log("已经获得请求地址: " + req.getServletPath()); arg2.doFilter(arg0, arg1); long after = System.currentTimeMillis(); context.log("过滤结束"); context.log("请求被定位到: " + req.getRequestURI() + ", 花费时间: " + (after - before)); } public void init(FilterConfig arg0) throws ServletException { config = arg0; } }
View Code
<filter>
<filter-name>log</filter-name>
<filter-class>xx.yy.FilterTest</filter-class>
</filter>
<filter-mapping>
<filter-name>log</filter-name>
<servlet-name>*</servlet-name>
</filter-mapping>
监听器Listener
Listener的作用类似于load-on-startup,用于在web应用启动时,启动某些后台程序,这些后台程序负责为系统运行提供支持。使用Listener需要两步:1) 创建Listener实现类。需要实现ServletContextListener接口;
2) 在web.xml中配置Listener。<listener><listener-class>xx.yy.TestListener</listener-class></listener>
相关文章推荐
- 误打误撞(一)竟然入门了Eclipse,Tomcat,Mysql-Connection,JSP,Servlet。
- 目前入门水平servlet+jsp+js+jquery+jdbc+mysql写的超市管理系统(小白要成长啦♪(^∇^*))
- JavaEE入门手把手教你做简单登陆界面(1)原始的jsp+servlet
- Servlet与JSP入门
- jsp&servlet入门小项目--留言管理
- JSP/Servlet程序设计(入门书籍)
- 关于《Java Web开发教程——入门与提高篇(JSP+Servlet)》
- servlet+jsp入门配置问题总结
- MVC(JSP+JavaBean+Servlet)入门实例:用户登陆验证
- JSP/SERVLET新手教程--Servlet 使用入门
- JSP/SERVLET入门教程--Servlet 使用入门
- JSP/SERVLET入门教程--Servlet 使用入门
- web入门--jsp/servlet/JSTL
- JSP/SERVLET入门教程--Servlet 使用入门
- JSP/SERVLET入门教程--Servlet 使用入门
- JDBC-Servlet-JSP入门
- 《Java Web开发教程——入门与提高篇(JSP+Servlet)》目录
- JSP入门3 Servlet
- Servlet/JSP配置入门(转)
- JSP/SERVLET入门教程--Servlet 使用入门