servlet与jsp自学笔记

来源:互联网 发布:深圳程序员工资统计 编辑:程序博客网 时间:2024/04/29 16:22

第一日:

一.tomcat的装好后的配置

conf/server.xml:

<Connector port="80" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />

conf/context.xml

<Context reloadable="true"> 不用重启tomcat生效了

二.第一个servlet程序

导入一个extenal jar,目录在tomcal的lib底下有个servlet-api.jar

public class HelloServlet extends HttpServlet{private static final long serialVersionUID = 1L;@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {PrintWriter printWriter = resp.getWriter();printWriter.println("<html><head></head><body>hello servlet!</body></html>");printWriter.flush();printWriter.close();}}
找到bin底下生产的HelloServlet.class放入C:\Web\apache-tomcat-6.0.37\webapps\helloservlet\WEB-INF\classes文件夹中

想要自己发布个web程序,需要这几个文件目录

1.WEB-INF/classes

2.WEB-INF/lib

3.WEB-INF/web.xml

三.配置文件

打开web.xml

<?xml version="1.0" encoding="ISO-8859-1"?><web-app xmlns="http://java.sun.com/xml/ns/javaee"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"   version="2.5">     <servlet>        <servlet-name>MyFirstServlet</servlet-name> //前后一致        <servlet-class>HelloServlet</servlet-class> //classes里面的类名    </servlet>    <servlet-mapping>        <servlet-name>MyFirstServlet</servlet-name> //同上        <url-pattern>/HelloServlet</url-pattern> //随意,想在浏览器访问的地址    </servlet-mapping></web-app>
http://localhost/helloservlet/HelloServlet

只需要标红的部分填入<url-pattern>,注意<servlet>和<servlet-mapping>成对出现。

第二日

HttpServlet

几个方法挺重要:

Tomcat会调用这个方法:void service(ServletRequest req,ServletResponse res) ,然后会派发给service(HttpServletRequest req,HttpServletResponse resp) ,最后才去分派调用doxxx方法。

中文乱码:

resp.setContentType("text/html;charset=gbk");在writer之前
PrintWriter printWriter = resp.getWriter();

如果加上了包名,需要改两处:

1.classes目录底下建立相应文件夹结构,然后在拷贝进去

2.<servlet-class>HelloServlet</servlet-class>里面写上完整路径,如com.cl.test.HelloServlet

第三日

解决post乱码需要两句话

在doGet或者doPost方法里

response.setContentType("text/html;charset=GBK");

request.setCharacterEncoding("GBK");

解决get乱码需要修改server.xml

URIEncoding="GBK"

第四日

mysql的一些语句

create database mydata;use mydata;create table dept(deptno int primary key,dname varchar(14),loc varchar(14));show databases;show tables;desc dept;insert into dept values(10,'A','A');select * from dept order by deptno limit 3,2(从第三条开始取出两条)create table article(id int primary key auto_increment,title varchar(255));


原创粉丝点击