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/*.jsp
d:/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
参考:http://www.cnblogs.com/jbelial/archive/2012/03/20/2396585.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论坛实例(部分代码)
javabean
public class User { private int id; private String name; private String password; private String nickname; public User() { } public User(String name, String password, String nickname) { this.name = name; this.password = password; this.nickname = nickname; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getNickname() { return nickname; } public void setNickname(String nickname) { this.nickname = nickname; } }